{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "user_data = pd.read_csv(\"./data_result/user_data.csv\")\n",
    "item_data = pd.read_csv(\"./data_result/item_data.csv\")\n",
    "data_train = pd.read_csv(\"./data_result/data_train.csv\")\n",
    "data_eval = pd.read_csv(\"./data_result/data_eval.csv\")\n",
    "data_test = pd.read_csv(\"./data_result/data_test.csv\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(23291027, 6)\n",
      "(8324819, 19)\n",
      "(8858710, 19)\n"
     ]
    }
   ],
   "source": [
    "print(user_data.shape)\n",
    "\n",
    "print(data_train.shape)\n",
    "print(data_test.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 划分数据集  predict_date:预测日期\n",
    "def split_x_y(data, predict_date):\n",
    "    end_date = \"2014-12-1\" + str(int(predict_date[-1])+1)\n",
    "    #在此时间段购买商品的标签\n",
    "    labels = user_data[(user_data[\"time\"] >= predict_date)&(user_data[\"time\"] < end_date)&(user_data[\"behavior_type\"] == 4)][[\"user_id\", \"item_id\"]].drop_duplicates()\n",
    "    labels[\"is_buy\"] = 1\n",
    "    data = pd.merge(data, labels, how=\"left\", on=[\"user_id\", \"item_id\"])\n",
    "    data[\"is_buy\"] = data[\"is_buy\"].fillna(0)\n",
    "    x_train = data.drop([\"user_id\", \"item_id\", \"item_category\", \"is_buy\"], axis=1)\n",
    "   \n",
    "    y_train = data[\"is_buy\"]\n",
    "    print(end_date)\n",
    "    print(labels)\n",
    "    return (x_train, y_train)     "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2014-12-18\n",
      "            user_id    item_id  is_buy\n",
      "5357       10011993   35096600       1\n",
      "8384      100135783  240901487       1\n",
      "18762     100226515  260210381       1\n",
      "28877     100442521  350540456       1\n",
      "30138     100475890  321002841       1\n",
      "31401     100498063  352768418       1\n",
      "31839      10051209   73132337       1\n",
      "35872     100586848   33846695       1\n",
      "37124     100586848   83477536       1\n",
      "42364     100639219  290304707       1\n",
      "48649     100764094  350345048       1\n",
      "48691     100764094  152338475       1\n",
      "49696     100764094   59347688       1\n",
      "49849     100764094  162928258       1\n",
      "49990     100764094   86847204       1\n",
      "55727        100890  173525858       1\n",
      "55728        100890   89313832       1\n",
      "67387     100962079   65706840       1\n",
      "68578     100973683  393315679       1\n",
      "68773     100973683   76859443       1\n",
      "80052     101266396  208699554       1\n",
      "82812     101366281  184994538       1\n",
      "83525     101380978   47210838       1\n",
      "83556     101380978  337403579       1\n",
      "84283     101404654  358649188       1\n",
      "88042      10142625    9787178       1\n",
      "105038    101512315  276925328       1\n",
      "113228    101684776  167140920       1\n",
      "113286    101684776  147369124       1\n",
      "135682    101847145  366813001       1\n",
      "...             ...        ...     ...\n",
      "23136950   63736178  375146029       1\n",
      "23137015   63736178   24366902       1\n",
      "23137067   63736178  116386577       1\n",
      "23137088   63736178  214957773       1\n",
      "23137096   63736178   28387702       1\n",
      "23143084   63900632   47132313       1\n",
      "23154030   63990944  175470902       1\n",
      "23160277   64065599  291355670       1\n",
      "23175979   64203264   93469599       1\n",
      "23203598   64422168  378092857       1\n",
      "23203702   64422168  277063041       1\n",
      "23204935   64422168  187924060       1\n",
      "23205966   64422168  125557218       1\n",
      "23207053   64422168   16508644       1\n",
      "23207145   64422168  184181655       1\n",
      "23207252   64422168  196847509       1\n",
      "23207301   64422168  360005132       1\n",
      "23208845   64445538  388185468       1\n",
      "23213679   64445937  215267701       1\n",
      "23214467   64445937  393125414       1\n",
      "23218481   64509513  157924991       1\n",
      "23242688   64691331  401505373       1\n",
      "23244513   64733580  113039679       1\n",
      "23246304   64733580   53144104       1\n",
      "23247615   64733580  203802014       1\n",
      "23259343   64866150  362994822       1\n",
      "23262461   64869447  354471773       1\n",
      "23276802   65098431   51911116       1\n",
      "23288210   65200062  105947909       1\n",
      "23288501   65200062   63000177       1\n",
      "\n",
      "[6169 rows x 3 columns]\n",
      "2014-12-19\n",
      "            user_id    item_id  is_buy\n",
      "9267      100198255  371505655       1\n",
      "11717     100198255  209277372       1\n",
      "16270     100212013   57799007       1\n",
      "21173     100233331  396825443       1\n",
      "27091     100442521  234530675       1\n",
      "27596     100442521   87030081       1\n",
      "27634     100442521  340175205       1\n",
      "27835     100442521  244784735       1\n",
      "28127     100442521  125212556       1\n",
      "29176     100442521  362002225       1\n",
      "30485     100492933  345855321       1\n",
      "35593     100586848  135331471       1\n",
      "36666     100586848  346307693       1\n",
      "48727     100764094   86888170       1\n",
      "49657     100764094  177382218       1\n",
      "49765     100764094   13293438       1\n",
      "49863     100764094  159381371       1\n",
      "50430     100764607  377529858       1\n",
      "56543     100925722  366882456       1\n",
      "72724     101033902  173739868       1\n",
      "78685     101260069  211562602       1\n",
      "78766     101260069  396639276       1\n",
      "80805     101268049  277762608       1\n",
      "91561     101454268  201104559       1\n",
      "101956    101490976  190861396       1\n",
      "103411    101490976  208991770       1\n",
      "103831    101490976  386649463       1\n",
      "135110    101847145  354772798       1\n",
      "135367    101847145  123380513       1\n",
      "137196    101847145  267737871       1\n",
      "...             ...        ...     ...\n",
      "23178492   64243962  203799992       1\n",
      "23195563   64355214  337158705       1\n",
      "23196214   64355214  323663923       1\n",
      "23198665   64355214  300105755       1\n",
      "23199178   64355214   41002762       1\n",
      "23202274   64388982  252382101       1\n",
      "23202854   64388982  264879561       1\n",
      "23202988   64388982  193588863       1\n",
      "23210000   64445937  287181482       1\n",
      "23213791   64445937  325999027       1\n",
      "23215394   64445937  343329859       1\n",
      "23218326   64494192  243378796       1\n",
      "23218369   64494192  233076719       1\n",
      "23218448   64494192  397896936       1\n",
      "23231166   64567188  264360449       1\n",
      "23233114   64567188  130744979       1\n",
      "23241048   64642563  108555577       1\n",
      "23241269   64642563  269329111       1\n",
      "23241522   64642563  206137940       1\n",
      "23245463   64733580  118123264       1\n",
      "23258415   64848129  327885992       1\n",
      "23264688   64884837  295080192       1\n",
      "23264972   64889520  315676951       1\n",
      "23266591   64941279  139496704       1\n",
      "23266694   64941279  209065272       1\n",
      "23266969   64962996  266805333       1\n",
      "23268902   64974210  196805891       1\n",
      "23268920   64974210  310550363       1\n",
      "23273808   65095287  290320897       1\n",
      "23281107   65175897  289319902       1\n",
      "\n",
      "[6124 rows x 3 columns]\n",
      "(8324819, 16)\n",
      "(8595453, 16)\n"
     ]
    }
   ],
   "source": [
    "# 训练集\n",
    "(x_train,y_train) = split_x_y(data_train, \"2014-12-17\")\n",
    "# 验证集\n",
    "(x_eval,y_eval) = split_x_y(data_eval, \"2014-12-18\")\n",
    "# 测试集 data_test\n",
    "print(x_train.shape)\n",
    "print(x_eval.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   user_item_look_counts  user_item_buy_counts  item_look_counts_before_buy  \\\n",
      "0                    1.0                   0.0                          NaN   \n",
      "1                    2.0                   0.0                          NaN   \n",
      "2                    5.0                   1.0                          3.0   \n",
      "3                    3.0                   0.0                          NaN   \n",
      "4                    2.0                   0.0                          NaN   \n",
      "\n",
      "   earliest_user_item_timedelta_look_to_buy  user_category_look_counts  \\\n",
      "0                                       NaN                        1.0   \n",
      "1                                       NaN                        6.0   \n",
      "2                                      0.03                        7.0   \n",
      "3                                       NaN                       19.0   \n",
      "4                                       NaN                        6.0   \n",
      "\n",
      "   user_category_buy_counts  category_look_counts_before_buy  \\\n",
      "0                       0.0                              NaN   \n",
      "1                       0.0                              NaN   \n",
      "2                       1.0                              5.0   \n",
      "3                       0.0                              NaN   \n",
      "4                       0.0                              NaN   \n",
      "\n",
      "   earliest_user_category_timedelta_look_to_buy  user_item_last_look_to_now  \\\n",
      "0                                           NaN                       198.0   \n",
      "1                                           NaN                       108.0   \n",
      "2                                           3.0                       338.0   \n",
      "3                                           NaN                       109.0   \n",
      "4                                           NaN                       108.0   \n",
      "\n",
      "   user_item_last_like_to_now  user_item_last_add_to_now  \\\n",
      "0                         NaN                        NaN   \n",
      "1                         NaN                        NaN   \n",
      "2                         NaN                        NaN   \n",
      "3                         NaN                        NaN   \n",
      "4                         NaN                        NaN   \n",
      "\n",
      "   user_item_last_buy_to_now  user_category_last_look_to_now  \\\n",
      "0                        NaN                           198.0   \n",
      "1                        NaN                           108.0   \n",
      "2                      345.0                           338.0   \n",
      "3                        NaN                           108.0   \n",
      "4                        NaN                           108.0   \n",
      "\n",
      "   user_category_last_like_to_now  user_category_last_add_to_now  \\\n",
      "0                             NaN                            NaN   \n",
      "1                             NaN                            NaN   \n",
      "2                             NaN                            NaN   \n",
      "3                             NaN                            NaN   \n",
      "4                             NaN                            NaN   \n",
      "\n",
      "   user_category_last_buy_to_now  \n",
      "0                            NaN  \n",
      "1                            NaN  \n",
      "2                          345.0  \n",
      "3                            NaN  \n",
      "4                            NaN  \n"
     ]
    }
   ],
   "source": [
    " print(x_train.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0    8322828\n",
      "1.0       1991\n",
      "Name: is_buy, dtype: int64\n"
     ]
    }
   ],
   "source": [
    " print(y_train.value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import xgboost as xgb\n",
    "xgb_train = xgb.DMatrix(x_train,y_train)\n",
    "xgb_eval = xgb.DMatrix(x_eval,y_eval)\n",
    "xbg_test = xgb.DMatrix(data_test.drop([\"user_id\", \"item_id\", \"item_category\"], axis=1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = {\n",
    "    'objective': 'rank:pairwise', # 学习目标\n",
    "    'eval_metric': 'auc', # 评价指标\n",
    "    'gamma': 0.1, # 最小损失函数下降值\n",
    "    'min_child_weight': 1.1, # 子集观察值的最小权重和\n",
    "    'max_depth': 6, # 树的最大深度\n",
    "    'lambda': 10, # L2正则化项\n",
    "    'subsample': 0.7, # 树采样率\n",
    "    'colsample_bytree': 0.7, # 特征采样率\n",
    "    'eta': 0.01, # 学习率\n",
    "    'tree_method':'exact', # 算法类别\n",
    "    'seed':0\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttrain-auc:0.929708\tvalidate-auc:0.880568\n",
      "Multiple eval metrics have been passed: 'validate-auc' will be used for early stopping.\n",
      "\n",
      "Will train until validate-auc hasn't improved in 50 rounds.\n",
      "[1]\ttrain-auc:0.942824\tvalidate-auc:0.904791\n",
      "[2]\ttrain-auc:0.9452\tvalidate-auc:0.913905\n",
      "[3]\ttrain-auc:0.949815\tvalidate-auc:0.923705\n",
      "[4]\ttrain-auc:0.951467\tvalidate-auc:0.926913\n",
      "[5]\ttrain-auc:0.952179\tvalidate-auc:0.929498\n",
      "[6]\ttrain-auc:0.954761\tvalidate-auc:0.933936\n",
      "[7]\ttrain-auc:0.954478\tvalidate-auc:0.933783\n",
      "[8]\ttrain-auc:0.954214\tvalidate-auc:0.933972\n",
      "[9]\ttrain-auc:0.953595\tvalidate-auc:0.933187\n",
      "[10]\ttrain-auc:0.953706\tvalidate-auc:0.933217\n",
      "[11]\ttrain-auc:0.95412\tvalidate-auc:0.933703\n",
      "[12]\ttrain-auc:0.954506\tvalidate-auc:0.934537\n",
      "[13]\ttrain-auc:0.954576\tvalidate-auc:0.93462\n",
      "[14]\ttrain-auc:0.954781\tvalidate-auc:0.934661\n",
      "[15]\ttrain-auc:0.955229\tvalidate-auc:0.93625\n",
      "[16]\ttrain-auc:0.955446\tvalidate-auc:0.936721\n",
      "[17]\ttrain-auc:0.955209\tvalidate-auc:0.93648\n",
      "[18]\ttrain-auc:0.955764\tvalidate-auc:0.936686\n",
      "[19]\ttrain-auc:0.955996\tvalidate-auc:0.936846\n",
      "[20]\ttrain-auc:0.956378\tvalidate-auc:0.937415\n",
      "[21]\ttrain-auc:0.956682\tvalidate-auc:0.937388\n",
      "[22]\ttrain-auc:0.957039\tvalidate-auc:0.937462\n",
      "[23]\ttrain-auc:0.95701\tvalidate-auc:0.937443\n",
      "[24]\ttrain-auc:0.957112\tvalidate-auc:0.937458\n",
      "[25]\ttrain-auc:0.957111\tvalidate-auc:0.93751\n",
      "[26]\ttrain-auc:0.957097\tvalidate-auc:0.937553\n",
      "[27]\ttrain-auc:0.957332\tvalidate-auc:0.937656\n",
      "[28]\ttrain-auc:0.957281\tvalidate-auc:0.937523\n",
      "[29]\ttrain-auc:0.957099\tvalidate-auc:0.937496\n",
      "[30]\ttrain-auc:0.957159\tvalidate-auc:0.937523\n",
      "[31]\ttrain-auc:0.95716\tvalidate-auc:0.937563\n",
      "[32]\ttrain-auc:0.957292\tvalidate-auc:0.937644\n",
      "[33]\ttrain-auc:0.957539\tvalidate-auc:0.937762\n",
      "[34]\ttrain-auc:0.95786\tvalidate-auc:0.937922\n",
      "[35]\ttrain-auc:0.958039\tvalidate-auc:0.938262\n",
      "[36]\ttrain-auc:0.958048\tvalidate-auc:0.938374\n",
      "[37]\ttrain-auc:0.958216\tvalidate-auc:0.938326\n",
      "[38]\ttrain-auc:0.958125\tvalidate-auc:0.938357\n",
      "[39]\ttrain-auc:0.95803\tvalidate-auc:0.938103\n",
      "[40]\ttrain-auc:0.958211\tvalidate-auc:0.93803\n",
      "[41]\ttrain-auc:0.958042\tvalidate-auc:0.937847\n",
      "[42]\ttrain-auc:0.95804\tvalidate-auc:0.937967\n",
      "[43]\ttrain-auc:0.958123\tvalidate-auc:0.938078\n",
      "[44]\ttrain-auc:0.958173\tvalidate-auc:0.938064\n",
      "[45]\ttrain-auc:0.958209\tvalidate-auc:0.937989\n",
      "[46]\ttrain-auc:0.95828\tvalidate-auc:0.937876\n",
      "[47]\ttrain-auc:0.958261\tvalidate-auc:0.937883\n",
      "[48]\ttrain-auc:0.958274\tvalidate-auc:0.937843\n",
      "[49]\ttrain-auc:0.958446\tvalidate-auc:0.938145\n",
      "[50]\ttrain-auc:0.958459\tvalidate-auc:0.938146\n",
      "[51]\ttrain-auc:0.958465\tvalidate-auc:0.938051\n",
      "[52]\ttrain-auc:0.95839\tvalidate-auc:0.938085\n",
      "[53]\ttrain-auc:0.958444\tvalidate-auc:0.938021\n",
      "[54]\ttrain-auc:0.958457\tvalidate-auc:0.93824\n",
      "[55]\ttrain-auc:0.958573\tvalidate-auc:0.938223\n",
      "[56]\ttrain-auc:0.958662\tvalidate-auc:0.938288\n",
      "[57]\ttrain-auc:0.958658\tvalidate-auc:0.938331\n",
      "[58]\ttrain-auc:0.958628\tvalidate-auc:0.938277\n",
      "[59]\ttrain-auc:0.95857\tvalidate-auc:0.938222\n",
      "[60]\ttrain-auc:0.958523\tvalidate-auc:0.938131\n",
      "[61]\ttrain-auc:0.958551\tvalidate-auc:0.93812\n",
      "[62]\ttrain-auc:0.958663\tvalidate-auc:0.938181\n",
      "[63]\ttrain-auc:0.958636\tvalidate-auc:0.938116\n",
      "[64]\ttrain-auc:0.958739\tvalidate-auc:0.938097\n",
      "[65]\ttrain-auc:0.958756\tvalidate-auc:0.938105\n",
      "[66]\ttrain-auc:0.958765\tvalidate-auc:0.938032\n",
      "[67]\ttrain-auc:0.958822\tvalidate-auc:0.938088\n",
      "[68]\ttrain-auc:0.958793\tvalidate-auc:0.938101\n",
      "[69]\ttrain-auc:0.958792\tvalidate-auc:0.938146\n",
      "[70]\ttrain-auc:0.958914\tvalidate-auc:0.938078\n",
      "[71]\ttrain-auc:0.959021\tvalidate-auc:0.938055\n",
      "[72]\ttrain-auc:0.959038\tvalidate-auc:0.938041\n",
      "[73]\ttrain-auc:0.959018\tvalidate-auc:0.938027\n",
      "[74]\ttrain-auc:0.959011\tvalidate-auc:0.938043\n",
      "[75]\ttrain-auc:0.95903\tvalidate-auc:0.937982\n",
      "[76]\ttrain-auc:0.959062\tvalidate-auc:0.937985\n",
      "[77]\ttrain-auc:0.959108\tvalidate-auc:0.938053\n",
      "[78]\ttrain-auc:0.959236\tvalidate-auc:0.938079\n",
      "[79]\ttrain-auc:0.959251\tvalidate-auc:0.938099\n",
      "[80]\ttrain-auc:0.959265\tvalidate-auc:0.938055\n",
      "[81]\ttrain-auc:0.959372\tvalidate-auc:0.938257\n",
      "[82]\ttrain-auc:0.959352\tvalidate-auc:0.938204\n",
      "[83]\ttrain-auc:0.959401\tvalidate-auc:0.938249\n",
      "[84]\ttrain-auc:0.959397\tvalidate-auc:0.938197\n",
      "[85]\ttrain-auc:0.959387\tvalidate-auc:0.938203\n",
      "[86]\ttrain-auc:0.959487\tvalidate-auc:0.938282\n",
      "Stopping. Best iteration:\n",
      "[36]\ttrain-auc:0.958048\tvalidate-auc:0.938374\n",
      "\n",
      "668.1599998474121\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "a=time.time()\n",
    "watchlist = [(xgb_train,'train'),(xgb_eval,'validate')]\n",
    "model_xgb = xgb.train(params,xgb_train,num_boost_round=2000,evals=watchlist,early_stopping_rounds=50)\n",
    "#说明：设置early_stopping_rounds=10，当logloss在10轮迭代之内，都没有提升的话，就stop。\n",
    "#如果说eval_metric有很多个指标，那就以最后一个指标为准。\n",
    "print(time.time()-a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "model_xgb.save_model('./model/xgb.model')#保存模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAEWCAYAAABR61JeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsnXm81XP+x5+vFomIZMlQWQbtUdYR2akQMhhLizEyQkxoGE0Ya7bs88sSQhSFxmSZugolpU2RtSHK0ohupW71/v3x+Zzb6XbOuefe7nLu7f18PM7jfr+f72d5vz8n7vt+Pp/v+yUzw3Ecx3EcxykfalS2AY7jOI7jONUZD7Ycx3Ecx3HKEQ+2HMdxHMdxyhEPthzHcRzHccoRD7Ycx3Ecx3HKEQ+2HMdxHMdxyhEPthzHcZxKQ9LDkq6rbDscpzyR59lyHMepekiaD+wIrEkq3svMvt2IPjsCw8xsl42zrmoiaSiwwMz+Vtm2ONULX9lyHMepupxoZvWSPqUOtMoCSbUqc/yNQVLNyrbBqb54sOU4jlPNkHSQpHclLZE0M65YJZ71lPSRpKWSvpB0YSzfEvg3sLOk/PjZWdJQSf9Iat9R0oKk+/mSrpY0C1gmqVZs94KkHyR9KenSDLYW9p/oW9JVkr6XtFBSV0mdJH0i6X+SrklqO1DSSEnPRX8+kNQm6XkzSXlxHuZIOqnIuA9JelXSMuB84Gzgquj7K7Fef0mfx/7nSjolqY8ekt6WdIekn6KvJyQ9byDpcUnfxuejk551kTQj2vaupNZZf8FOlcODLcdxnGqEpN8A/wL+ATQA+gEvSNo+Vvke6AJsDfQE7pa0n5ktA04Avi3FStlZQGdgG2At8AowE/gNcBTQV9JxWfa1E7B5bDsAGAKcA7QDOgADJO2eVP9kYET09RlgtKTakmpHO14HdgAuAZ6WtHdS2z8ANwFbAU8CTwO3R99PjHU+j+PWB64HhklqlNTHgcA8oCFwO/CoJMVnTwFbAC2iDXcDSNoPeAy4ENgO+CfwsqQ6Wc6RU8XwYMtxHKfqMjqujCxJWjU5B3jVzF41s7Vm9gYwFegEYGb/MrPPLfAWIRjpsJF23GtmX5vZCmB/YHszu8HMVpnZF4SA6cws+yoAbjKzAmA4IYgZbGZLzWwOMAdIXgWaZmYjY/27CIHaQfFTD7g12jEOGEMIDBO8ZGbvxHn6NZUxZjbCzL6NdZ4DPgUOSKryXzMbYmZrgCeARsCOMSA7AehtZj+ZWUGcb4ALgH+a2XtmtsbMngBWRpudakiV3V93HMdx6GpmbxYpawKcLunEpLLawHiAuM31d2Avwh/cWwCzN9KOr4uMv7OkJUllNYGJWfa1OAYuACviz++Snq8gBFEbjG1ma+MW586JZ2a2NqnufwkrZqnsTomk84ArgKaxqB4hAEywKGn85XFRqx5hpe1/ZvZTim6bAN0lXZJUtlmS3U41w4Mtx3Gc6sXXwFNmdkHRB3Gb6gXgPMKqTkFcEUtse6V6PX0ZISBLsFOKOsntvga+NLPflsb4UrBr4kJSDWAXILH9uaukGkkBV2Pgk6S2Rf1d715SE8Kq3FHAJDNbI2kG6+YrE18DDSRtY2ZLUjy7ycxuyqIfpxrg24iO4zjVi2HAiZKOk1RT0ubx4PkuhNWTOsAPwOq4ynVsUtvvgO0k1U8qmwF0ioe9dwL6FjP+FOCXeGi+brShpaT9y8zD9Wkn6dT4JmRfwnbcZOA9QqB4VTzD1RE4kbA1mY7vgOTzYFsSArAfILxcALTMxigzW0h44eBBSdtGGw6Lj4cAvSUdqMCWkjpL2ipLn50qhgdbjuM41Qgz+5pwaPwaQpDwNXAlUMPMlgKXAs8DPxEOiL+c1PZj4Fngi3gObGfCIe+ZwHzC+a7nihl/DSGoaQt8CfwIPEI4YF4evAScQfDnXODUeD5qFXAS4dzUj8CDwHnRx3Q8CjRPnIEzs7nAncAkQiDWCninBLadSziD9jHhxYS+AGY2lXBu6/5o92dAjxL061QxPKmp4ziOUyWRNBDY08zOqWxbHCcTvrLlOI7jOI5Tjniw5TiO4ziOU474NqLjOI7jOE454itbjuM4juM45Yjn2XIch2222cb23HPPyjZjo1m2bBlbbrllZZux0bgfuYX7kVvkkh/Tpk370cy2L66eB1uO47DjjjsyderUyjZjo8nLy6Njx46VbcZG437kFu5HbpFLfkj6bzb1fBvRcRzHcRynHPFgy3Ecx3EcpxzxYMtxHMdxHKcc8WDLcRzHcRynHPFgy3Ecx3EcpxzxYMtxHMdxHKcc8WDLcRzHcRynHPFgy3Ecx3GcasGSJUvo1q0b++yzD82aNWPSpEmMGDGCFi1aUKNGjQ3yCd5yyy3sueee7L333rz22mvlZpcnNXUcx3Ecp1pw2WWXcfzxxzNy5EhWrVrF8uXL2WabbXjxxRe58MIL16s7d+5chg8fzpw5c/j22285+uij+eSTT6hZs2aZ2+UrW06JkLSzpJHxuq2kTuU83lBJ3UrRrqOkQ4qpM1BSv1LalSepfZZ1rynNGI7jOE72/PLLL0yYMIHzzz8fgM0224xtttmGZs2asffee29Q/6WXXuLMM8+kTp067Lbbbuy5555MmTKlXGzzlS0nJZJqmdnqouVm9i2QCH7aAu2BVyvStizpCOQD71ayHQDXADdXthGZWFGwhqb9/1XZZmw0f2m1mh7uR87gfuQW1dmP+bd25osvvmD77benZ8+ezJw5k3bt2jF48OC0OorffPMNBx10UOH9LrvswjfffFMuNnuwVU2Q1BQYY2Yt430/oB7wP6A3sBqYa2ZnStoSuA9oRfg3MNDMXpLUA+gMbA5sCRyZbhxgP+AGoK6kQ4FbYnm6frsCNYGWwJ3AZsC5wEqgk5n9LwsfBwAnAnUJQdSFZmaSLk32Eegf79dIOge4xMwmFtN3W+BhYAvgc6CXmf2UrjypXQ3gceBrM/tbin5vjXM0A5hjZmdLugLoFas8Ymb3pLGpKfBv4G3gEOAb4GQzW5HKLqA28G8zayepDTADaGJmX0n6HGhlZsuT+v8T8CeAhg23Z0CrDWLrKseOdcP/iKs67kdu4X7kFqn8yMvLY968eUybNo0ePXrQo0cP7rvvPi666CJ69Qr/u12yZAnTpk0jPz8fgAULFvDRRx+Rl5cHwMKFC5kzZw4NGzYse6PNzD/V4AM0BT5Muu8HDAS+BerEsm3iz5uBcxJlwCeE4KoHsABokM04sf79Sc8y9fsZsBWwPfAz0DvWuxvom2G8oUC3eN0gqfwp4MR4ncrHgUC/YuassA4wCzg8Xt8A3FNMeR5wEPAscG0x4+QnXbcDZsd5qQfMAfbNMNergbbx/vmk+U1n1xxga6AP8D5wNtAEmJTJxr322suqA+PHj69sE8oE9yO3cD9yi3R+LFy40Jo0aVJ4P2HCBOvUqVPh/eGHH27vv/9+4f3NN99sN998c+H9sccea++++26JbAGmWha/o/3MVvVnFvB0XOFJ/ClwLNA/rrbkEVayGsdnb1gWq0xpyNTveDNbamY/EIKtV2L5bEJQkQ1HSHpP0mzCqluLWJ7Kx6yRVJ8QpL0Vi54ADktXntT0n4TA86YSDHcoMMrMlplZPvAi0CFD/S/NbEa8ngY0Lcaud4Hfxfub488OQMaVPcdxnKrOTjvtxK677sq8efMA+M9//kPz5s3T1j/ppJMYPnw4K1eu5Msvv+TTTz/lgAMOKBfbPNiqPqxm/e9z8/izM/AAYUVlmqRagIDTzKxt/DQ2s49i/WUbYUOmflcm1VubdL+WLLazJW0OPEhY5WoFDCnGx4rgXUIAuHmxNdehEo6RPG9rKH6uJhKCqybAS0AbQoA3oYTjOo7jVDnuu+8+zj77bFq3bs2MGTO45pprGDVqFLvssguTJk2ic+fOHHfccQC0aNGC3//+9zRv3pzjjz+eBx54oFzeRAQPtqoT3wE7SNpOUh2gC+H73dXMxgNXEbb26gGvAZdIEoCkfUs55lLC1mCCsuo3FYmA5kdJ9YiH9OOZqVQ+FrUtLWb2M/CTpMQK07nAW+nKk5o+Sng5YEQxAV6BpNrxegLQVdIW8ezcKZRw1akYuyYA5wCfmtlawpm9TsA7JRnDcRynKtK2bVumTp3KrFmzGD16NNtuuy2nnHIKCxYsYOXKlXz33Xfr5dO69tpr+fzzz5k3bx4nnHBCudnlB+SrCWZWIOkG4D3gS+BjwoH0YXHbScDdZrZE0o3APcCsGBjNJwRnJWU867YNbwHKqt8NiHYPIWw7ziecR4L0Pr4CjJR0MlkckAe6Aw9L2gL4AuhZTHnCrrvi2E9JOjsGOEX5P8KcfGDhgPxQIPF+8SNmNj3beSjOXjObH2PdxErW28AulnSo33Ecx6lYFM53OY6zKbP33ntb4pxDVSYvL4+OHTtWthkbjfuRW7gfuUUu+SFpmpkVm3PRtxEdx3Ecx3HKEd9GdFIiqRUhvUIyK83swHIa7wHCW3TJDDazx8ug72uB04sUjyjhW4TZjPMeUKdI8blmNruYdtsB/0nx6CgzW1xW9jmO4ziVgwdbTkpigNC2Ase7uBz7vgko08AqzTilCkRjQFVhc+04zqbHmjVruOCCC9h7770ZM2YM48aNo1+/fqxatYp27drx6KOPUqtWLZ5++mluu+02AOrVq8dDDz1EmzZtKtn6qo9vIzqO4zhONWfw4ME0bhzSHq5du5bu3bszfPhwPvzwQ5o0acITTzwBwG677cZbb73FrFmzuO666/jTn/5UmWZXGzzYqiSyEUquDCTll7JdR0ljytqe0iCpqaQ/lLLdhyVss4+kGZKmS9qjpGNmOcZ8SeWgH+E4zqbAggUL+Ne//kXnzp0BWLx4MXXq1GGvvfYC4JhjjuGFF14A4JBDDmHbbbcF4KCDDmLBggWVY3Q1w7cRK4+OlLNQcky/oDTpCKozTYE/AM9UwFhdgZfM7O/ZVM7V78SFqHML9yO3qKp+zL81BFd9+/bl9ttvZ+LEkAGnYcOGFBQUMHXqVNq3b8/IkSP5+uuvN2j/6KOPlmvuqU0JD7bKGEnnEXQJjSAj8zzwN4Lw8mKCVl1digglE/JiPcw6eZu+ZvaOpO0JQcN2hNxSxwPtzOzHVILGSeLF44GDgdGStjGzy6N9FwDNzOyKYvwQcDtwQvTlH2b2XLryIm33J+SWOs3MvkjRdz2CYHX72Mf1ZvaCpLOAawj5sv5lZlfH+vlmVi9edwO6mFmPmK/ql9jPTsBVZjYSuBVoFvN/PQG8ThCL3oywmnuamX2axvVakp4A9iVoO55nZssltQPuIiRM/ZGg97gv0JfwPR5mZkdk+Z10lbQ3cD3hQP3nQM8o35OOKyUdEa//YGafRf/HRJ8L50nSU8BIM3splj8NPGdmLxf5HlyIOkdxP3KLqupHXl4ekyZNoqCggKVLl7JixQoWL17MW2+9xVVXXUWvXr0oKCigffv2/Prrr4WCzADTp0/nvvvu4957712vPBfIz8/POZuKJRsBRf9kLQbdApgHNIz3DYBtWZfP7I/AnVZEBDnePwMcGq8bAx/F6/uBv8br4wnBSUPSCBoTVnXWAgfFNlsSfpnXjvfvAq0y+JAff54GvEFIGroj8BXQKEN5R2AMcAhBw69xhjFuIwonx/ttgZ1jX9sT/ggYB3RNtiledwOGxuuhwAhCANUc+CyWdyQEIYk29wFnx+vNgLpp7Goa5/d38f4xQuBcO87b9rH8DOCxot9jCb6ThoSko1vG+6uBARnmaz5R7Bo4L+EbSSLdRb67w4HR8bo+IcltrUz/dl2IOrdwP3KLquxH//797Te/+Y01adLEtt12W6tbt66dffbZ69V57bXX7PTTTy+8nzlzpu2+++42b968ijY3K3Lp+8CFqCuFIwkrCj8CWBB03gV4LYonX8k68eSiHA3cH1djXga2lrQVQddueOxvLJDIBJ5J0Pi/ZjY5tllGCFy6SNqHEHRlTEWQ1P+zZrbGzL4jyMHsn6EcoBlhRetEM/sqQ99HE7QMiTb+FPvIM7MfzGw18DTriz6nY7SZrTWzuYTgLxWTgGskXQ00MbMVGfr72swS0jbDCP7uDbQE3ojfz98I32tRsvpOgIMIweE7sb/uBC3DTDyb9PPgTBUtCFTvKWkH4CzghTinjuNsYtxyyy0sWLCA+fPnM2DAAI488kiGDRvG999/D8DKlSu57bbb6N27NwBfffUVp556Kk899VThmS5n4/FtxLJFhJWRZO4D7jKzlyV1JKyEpKIGcHDRQCChM5hmrHQUFZN+hLA99zFhOy0bSjPuQoKG4b7At8X0XXSeMvWbXLeo6HOyUHPKPszsmZgDqzMh8P2jmY3LYqzEvYA5ZpYxyEk3fiT5OxHwhpmdVUx/6exKXBeKj8d/J5sl1XmKsGV9Juu2NR3HcQAYNGgQY8aMYe3atVx00UUceeSRANxwww0sXryYP//5zwDUqlWLqVOnVqap1QJf2Spb/gP8PiapRFIDwjbON/F596S6RYWSXwf6JG4kJfIuvQ38PpYdS9hygxIIGpvZe8CuhEPjz6aqk4IJwBmSasZzY4cR9PzSlQMsIQQ0N8fAMh1Ffd2WoOl4uKSGkmoSVmQS4srfSWoWRadPycL29eZW0u7AF2Z2L2HVsHWGto0lJYKqswjzPw/YPlEuqbakVCuU2X4nk4HfSdoz9reFpOL+hDwj6eekeD2fsHUJcDJhuzPBUMJ5MsxsTjF9O46zCdC2bVvGjAkvjQ8aNIiPPvqIefPm0bdv38I6jzzyCD/99BMzZsxgxowZHmiVER5slSHxl9pNwFuSZhIOVA8ERkiaSDhYneAV4JSYNqADcCnQXtIsSXMJB+ghHKI+VtIHhEPpC4GlZvYB4RfqFEKgUpyg8fPAO5a9IPEowgH/mYRtyKvMbFGG8sQcfAecCDwgKV2Sz38A20r6MM7TEWa2EPgr4RD5TOADiwe8gf6E82Djov/FMQtYLWmmpMsJAcqHcctuH+DJDG0/ArpLmkU4c/eQma0inBW7Ldo7g3A2bT2y/U7M7AfCAftn4ziTo12ZqBNX5y4DLo9lQwgB6hTgQJJWz+L38BHZr2Q6juM45YQLUec4kuoAa8xsdVxZecjMSpxtPObAutvMUsnCONUMSVsQDuvvZ2Y/F1ffhahzC/cjt3A/cotc8iNbIWo/s5X7NAaej1toq4ALStJY0jaElZaZHmhtGkg6mvAm5V3ZBFqO4zhO+eLBVo5jIR/UvhvRfgmw3nmgihI+ltSTsO2VzDtWjjqI2ZCrws+SRgG7FSm+2sxeK0k/ZvYm6/K1OY7jOJWMB1ubIFZBwsdm9jg5eGaoovwvKWaWzeF/x3EqkF9//ZWLLrqIzTbbjNWrV9OtWzeuv/76tELOeXl5nHzyyey2W/i76dRTT2XAgAGV7IVT2fgBeWc9JHWV1Lyy7UimNJqFSW2vKSMbeki6P82ztJnfS6vT6DhOblCnTh3uuusuZs6cyYwZMxg7dizvvvtuWiFngA4dOhS+zeeBlgO+slVtkFSrjBJXdiW8+Te3DPpKiaSaZramvPovwjXAzRU0ViqaUnE6jaXGtRFzC/ej8knoCkqibt26ABQUFFBQUEDNmjU3EHK+5ZZbOP/88yvNXie38ZWtSqLoao2kfpIGSrpU0tyYAmJ4fLalpMckvS9puqSTY3kPSSMkvULIXZVurKskzY6pEG6NZRfE/mZKeiHmejoEOAkYFFNS7BE/YyVNkzQxZqEnlk+OfdyQWN1RYFBM6zBb0hmxvKOk8ZKeAWZLulHSZUk23iTp0iznbaKkD+LnkFjeSNKEaPeHkjpEX+vGsqcz9Dk6+jdHQS8wUd5T0ieS3gJ+l1S+m6RJ0fcbizH5VqBDtOFySZtLejzOzXSt0ztMZVcPSS/G+f9U0u1Jz86KfXwo6bZY9ntJd8XryyR9Ea/3kPR2MXY6jpOGNWvW0LZtW3bYYQeOOeYYDjjggEIhZ2ADIedJkybRpk0bTjjhBObM8TR3jq9s5SL9gd3MbGV8kxDgWmCcmfVKvF0o6c347GCgdZQG2gBJJxBWqw60IKjcID560cyGxDr/AM43s/skvcz64sb/AXqb2acKebMeJMgSDQYGm9mzknonDXkq4TxUG4IG4PuSJsRnBwAtzexLBXHmF4HBCm9anhmfF8f3wDFm9quk3xKStLYnrB69ZmY3KSRF3cLMJkrqk0WqjF5m9j9JdaO9LxCysV9PSBr6MyH/VyJn1mBCCo4nJRV32L8/QTuxC4CkvwCYWasYuL4uaS8z+zVN+7aEFyRWAvMk3QesIehLtiPIN70uqSshqeqVsV0HYLGk3xBkhDZIrioXos5Z3I/KJ1noeMWKFdxzzz3k5+dz3XXXsc8++6QVcl62bBnDhg2jbt26TJ48meOOO45hw4ZVniNJVEkB5xRURT882Mo9ZgFPSxoNjI5lxwInSeoX7zdn3dtmb6QLtCJHA4+b2XIo1GsEaBmDrG0IoskbvPEmqR4heecIrVMNqhN/HkwI4iBskd0Rrwu1EwmZ3xPaib8AU8zsy2jHfEmLJe1L0DScnuWbgLUJGpJtCUFH4k3L94HHJNUm6CXOyKKvBJdKShxO3xX4LbATUasxzsVzSWP9jiDIDUEW57YSjHUoQcIJM/tY0n9jv7PS1P9PIn2DQrLbJsB2RWx7GjjMzEZLqqegqbkr4Xs5jBB4vVi0YzP7P4KWJXvvvbddcvbJJXAjN8nLy+P3OZJ/Z2NwP3KL5LxO06ZNY/HixfTr14+LLw5/a73++uusXLlyg9xPHTt25OGHH6Zly5Y0bNiwgq3ekFzKT7UxVEU/fBux8ijUtYskNP86E0Sa2wHTJNUiaOmdZmZt46exmX0U6xfVQSxKKh1CCJnO+5hZK8IKTlHNQaJ9S5LGbWtmzbIYLx2pNBt7AD0JeaGy4XLgO8LKWXuiHqCZTSAEFt8AT0k6L5vOFGSFjiboUrYhrF4l5iJTxt/SZgPOND+pSNZ+XEP4AylTH5MI8zmPsJrVgRAYv5OhjeM4afjhhx/Izw/vwKxYsYI333yTffbZJ62Q86JFi0gkC58yZQpr165lu+22qxzjnZzBg63K4ztgB0nbKWSJ70L4PnY1s/HAVay/6nSJ4vJSXA3KlteBXgoZxRN6jRC0AxfGlaCzk+oX6gqa2S/Al5JOj20lqU2sN5l1qztnJrXPpJ1YlFHA8YSVr2xzSdUHFprZWuBcoGa0rQnwfdwafRTYL9YviD5m6u+nuMW6D3BQLH8P6Bi/n9rA6Ult3mGdz8lzl4qiGpgTEm0U9BAbEwKjkpBJR3IC0C/+nA4cAaz05KaOUzoWLlzI5ZdfTuvWrdl///055phj6NKlC4MGDaJZs2a0bt2aE088sVDIeeTIkbRs2ZI2bdpw6aWXMnz4cJJ2BpxNFN9GrCTMrEDSDYRfnF8CHxMCh2GS6hNWL+42syXxEPY9wKwYcM0nBGfZjDM2brlNlbQKeJXwht51cez/EmRdEgHBcGBIPKzejRAYPCTpb4QtvOEE7cK+0da/AP8inGuCEEAdHOsYUTsxBjJFbVslaTxh9SzbtxMfBF6IAeB41q2WdQSulFQA5AOJla3/I8zbB2aWKjAaC/RW0CicRwgiMbOFkgYSVooWAh8QAztCotZnFA74v1CMvYU6jYTVxAeBhyXNJqxu9jCzlRnab0C0LaEjKeDVJB3JiYQtxAlmtkbS14R/W47jlILWrVszZMiQDbatBg0axKBBgzao36dPH/r06VNB1jlVBddGdEpFXClbYWYm6UzgLDMr0aGfeDD+A+D0mCnfqSRcGzG3cD9yC/cjt8glP+TaiE45045wUF3AEqBXSRorJE4dA4zyQMtxHMepzniwVU2Q1IrwZlwyK83swPIYz8wmEg6pl7b9XGD35LLy9EHlrIe4MbZLOo4N32j80uV7HMdxqgcebFUTzGw2Oaj3VxLK04fy1kPcGNuj0HSJxKYdxylffv31Vw477DBWrlzJzz//TPfu3TNqIn788cf07NmTDz74gJtuuol+/foVP4izyeBvIzqO4zhOEerUqcO4ceOYOXMmjzzySLGaiA0aNODee+/1IMtJiQdbToWh6idynVacuqKR1FZSp8q2w3GqC5KoV68eAKtXr06rifjCC+GF5B122IH999+f2rUzZZpxNlV8G9EpFrnIdVWgLSHJ66ulaexC1LmF+1F5JASoIWgitmvXjnnz5nHppZeup4nYvn37DTQRHScdvrJVDSm6WiMXuc5W5DqlSHS68iJtOyuIU6fU5JC0o6RRcU5map2A9hXRnw8l9c30/cXrPEm3SZqiIJLdQdJmwA2EZLIzJJ0h6fB4PSPavFUKsxzHyUDNmjWZMWMGI0aMYMqUKcyZM4fhw4dz+eWXc8ABB7DVVltRq5avWTjF4/9KNi1c5DozF8OGItEZyhPzcApwBdDJzH5K0/e9wFtmdopC1vd6ktoRpHUOJCQnfU9BSzJdHwlqmdkBcdvw72Z2tKQBQHsz6xNtegW42MzeUdC43EDoWi5EnbO4H5VHOoHjpk2b8sADD3DGGWdw4403AvD+++9Tv3799drMnz+funXr5qRQclUUcE5FVfTDg61NCxe5zkw6keh05RDkcNoDx0Z5o3QcScxqH+3/WdKhhDxjy+KcvEjQMny5GDsTotLTgKZp6rwD3KUgUv2imS0oWsGFqHMX96Py+eGHH6hduzbbbLMNr732Gp999hlXX301zZs3Z4cddmDlypXceOONDBgwYL0Em3l5edSrVy9nkm4mk0vJQDeGquiHB1vVk0wi14cRtvOuk9SCdSLX66UPjytNGyNy3dXMZkrqQZDSKUqhyHUxYxQdLx3pRK53InuR63T9Zxr3C0K+sL2AqVmOU1y/6b6/BAl5n4Qw9QaY2a2S/gV0AiZLOtrMXLbHcbJk4cKFdO/enTVr1rB06VJ69uxJly5duPLKKxkzZgxr167loosuKtREXLRoEe3bt+eXX36hRo0a3HPPPcydO5ett966kj1xcgE/s1U9cZHr0olcpxOJziQe/V/C9uaTMXhNx3+Ai2KgrDVbAAAgAElEQVQfNSVtHfvtqnCmbUvgFIK2YarvrzjWE7yWtIeZzTaz2whB4AbalI7jpKd169ZMnz6dWbNm8fjjjzNgwAAgaCJ+9NFHzJs3j759+xbW32mnnViwYAG//PILS5YsYcGCBR5oOYV4sFUNMbMCwoHp9whv/yWLXM8GphNFroEbCQLTs+Kh7BtLMM5YwpbXVEkzgMRWZELk+g3WF0EeThCLni5pD0IAc76CSPMcILGP1Re4QtIUoBHri1zPIohcjyOKXKexbRVBqPn5Eopc14xz9BzrRKLTlSfGmhd9GRH9SsVlwBGxj2lACzP7gLAKOIUwX4+Y2fQ0319xjAeaJw7IA33jofuZwArg31nOgeM4jlPGuBC1k3PIRa4rHBeizi3cj9zC/cgtcskPuRC1U4VxkWvHcRyn2uDBllMscpHrrJF0LXB6keIRZnZTWY7jOI7jVB082HKKxUWuSzTOTYAHVo6T4yQLTa9evZpu3bpx/fXX06FDB5YuXQrA999/zwEHHEDfvn3Jy8vj5JNPZrfddgPg1FNPLTw07zjF4cGW4ziOs8mREJquV68eBQUFHHrooZxwwglMnDixsM5pp53GySevOy7aoUMHxowZUxnmOlUcfxvRyTkk7SwpkWW+3AWWJQ2V1K2UbecrjURPRSOpbyINh+M4mVGS0HRBQQEFBQUkJVhm6dKljBs3jq5du6brwnGyxle2nEpDaQSuzexbIBH8bJTA8iZGX2AYsLykDV2IOrdwP8qPVELTn332GRdffDEHHrjuCOeoUaM46qij1suVNWnSJNq0acPOO+/MHXfcQYsWmVLrOc46PPWDkzVRc3CMmbWM9/0IiVH/B/QmZD6fa2ZnxiSd9wGtCEH9QDN7KWaU70zIir6lmR2ZbhxgP+AzoC7wDXBLLE/Xb1dCPrGWwJ3AZsC5hIzrnTJoPA6Nfo2UdBRBHqgW8D5wUdSSTFc+nxAMLiPkAXshoQuZYpzzCLnIDJhlZudKakLIcL898APQ08y+SrYpts03s3qSOgIDgR+jn9OAc4BLon3z4rOjgUejbQY8ZmZ3F7EnWRux3YB7UppdpdixLny3orKt2Hjcj/Kj1W/qb1CWn5/Pddddx6WXXlp4Juvqq6+mU6dOHH744eTn5yOJGjVqULduXSZPnsz999/PsGHDKtr8jSI/P79wNa8qk0t+HHHEEZ76wakwylTgOoGZrUohsHxzhn5bAvsSArnPgKvNbF9JdxN0Ce/JNJ6kzQlJRo8ys08kPQlcJOnhVOVJ/dUjJGx90syeTNN3izgnvzOzH5Oy7d8f2z0hqRdBsLq4fYt9gRbAtwQNxN+Z2b2SrgCOiP23A36TFBhvU7STZG3ExrvvaXfOrvr/O/hLq9W4H7lDLvox/+yOKcunTZvG4sWL6dmzJ4sXLy7UQtx88803yOvUsWNHHn74YVq2bEnDhjlxiiArcik/1cZQFf3Irf8KnKpKWQtcZyJTv+PNbCmwVNLPwCuxfDbQOou+9wa+NLNP4v0TwMWE7OypyhPB1kvA7Wb2dIa+jwRGmtmPsJ5o98EEuR8IqSluz8LOKQlh6Zi5vynwdpE6XwC7S7oP+BdBWiktdWvXZF7S9kpVJS8vL+0v06qE+1H+JAtNr1ixgjfffJOrr74agBEjRtClSxc233ydLOmiRYvYcccdkcSUKVNYu3Yt2223XWWZ71QxPNhySkJFCVxnIlO/K5OK1ibdryW7f+ulEaKGsLp0gqRnLP2+fDrR7qIk6hTOdUzuullSnWQ/U4pRm9lPUWvyOEJg+HtKmBzWcaozyULTa9eu5fe//z1dugQZ0uHDh9O/f//16o8cOZKHHnqIWrVqUbduXYYPH77egXrHyYQHW05JKBRIBvIJAsmvEwWuJb0N/IH1Ba4vibI7+5rZ9FKMuZ7Achn2m4qPgaaS9jSzzwjnvd7KUJ5gAEEP8kGi2HQK/gOMknS3mS2W1CCubr1LENt+iqCvmFihmk/IpP88QTOydhb2J+bqx/iG5Coze0HS54RtUMdxIgmh6VTk5eVtUNanTx/69OlTzlY51RVP/eBkTUUJXBehqMByWfW7AWb2K9CTICg9m7Ai9nC68iLN+wKbS0q5DWhmcwjJTt+K4tB3xUeXAj0lzSIEcZfF8iHA4VGMO9vVwP8D/i1pPPAbIC9uMw4F/ppFe8dxHKcc8LcRHcdxIeocw/3ILdyP3CKX/MhWiNpXthzHcRzHccoRP7PlVBoVLXAt6QHgd0WKB5vZ42U4xnaE81lFOcrMFpfVOI7jOE7VwYMtp9KoaIFrM7u4AsZYTBUX7Xacqkw6gekePXrw1ltvUb9+SGo6dOhQ2rYN/6nm5eXRt29fCgoKaNiwIW+99VamIRynxHiw5TiO41Qb0glMAwwaNIhu3daXQV2yZAl//vOfGTt2LI0bN+b777+vDLOdao6f2XIAkNRVUvPKtiMZSU3jG4elaXtNFnXyS9l3R0ljSlD3kNKM4zhOySlOYLoozzzzDKeeeiqNG4fcyDvssEOF2OlsWvjKVhUnnZhzKehKSOcwtwz6Somkmma2prz6L8I1wM0VNFYmOhJykr1byXZkxIWocwv3o3QkRKZTCUw/9NBDXHvttdxwww0cddRR3HrrrdSpU4dPPvmEgoICOnbsyNKlS7nssss477zzKsxmZ9PAUz9UMBUl5hz7voqQu2kt8G8z6y/pAoL48GYE/cBzCWeMxgA/x89psYsHCALJy4ELzOxjSXsATxPya/0buCIKJIsgNXMCIQv6P8zsuSic/HdgYRznBeBHMxscbbwJ+M7M7s00V/H6KWDL+LiPmb0rqRHwHLB1nKOL4txcSZDpmWNmZ6eZn/xibM/kUz8z6yJpf0J+q9PM7IsU9k8mZHn/gSAW/RUphKfT2DcU+IUgJr0TcFUUy05n14PAWDN7WdIo4KeoIXk+Qbvyb0X6dyHqHMX9KB1FRaaTBaa33nprGjRoQEFBAXfeeSc777wz3bt3Z/DgwcybN48777yTVatWcfHFF3PLLbew6667rtdPrggfbwzuR9mTrRA1ZuafCvwQdOw+TLrvBwwkiArXiWXbxJ83A+ckyoBPCMFGD2AB0CDDOCcQVlO2iPcN4s/tkur8A7gkXg8FuiU9+w/w23h9IEH8GUJQdla87g3kx+vTgDcIQdiOhKCiEWFlZxnhl33C/w/idQ3g82Sb0s0VsAWwebz+LTA1Xv8FuDZe1wS2itf5WXwXxdmeyacxwCHANKBxhjEGEgKzxP0rQPd43QsYnaHtUGBEnKfmwGfF2HsmMCjWmQJMjtePA8dlmou99trLqgPjx4+vbBPKBPej7Bg4cKANGjRovbLx48db586dzczslltusb///e+Fz3r16mXPP//8BvWrA+5H2ZP4XVTcx89s5Q4JMedzCKtbEESX+8cs4HmUTMz5aOBxM1sO6wkft5Q0MWZCPxtoUbShpHqEQGJEHPufhF/mEISTR8TrZ5KaHQo8a2ZrzOw7gpzN/vHZFDP7MtoxH1gsad/o33TLLiVCbWBItHsEIfgAeJ+QgX0g0MqCEHVJSWd7Jp+aEVa0TrQ0K1NpOJh18/ZUHCMTo81srZnNJQRWmeydCHSIZ+/mAt/Flb+DyfFtTMcpK3744QeWLFkCUCgwvc8++7Bw4UIgLDCMHj2ali1bAnDyySczceJEVq9ezfLly3nvvfdo1qxZpdnvVE/8zFbFU1FizumEj4cCXc1sZtyO7JiiTg1giZmVJIVBJkXWorY+Qlid24mwpZYNlxO0GdtE+34FMLMJkg4jzN9TkgaZ2ZMlsBtKJ0C9kPDd7UtYlSwtxe3jJ4tOq8jP9Tsy+0bStsDxwASgAUGAOr+UQajjVDnSCUwfeeSR/PDDD5gZbdu25eGHg+JWs2bNOP7442ndujU1atTgj3/8Y2Eg5jhlhQdbFU9FiTm/DgyQ9IyZLU8SPt4KWCipNmFl65tYv1Dw2cx+kfSlpNPNbEQ8I9TazGYSziCdRjgndWbSeBOACyU9Qfglfxjh3NQ+KWwbRdBYrB19zYb6wAIzWyupO2ELDUlNgG/MbEg847Yf8CRQIKm2BT3H4khne60MPi0Bzgdel7TMzPLS9L2UcJ4sQTrh6ZKQzl6ASQSdxiOB7YCR8eM4mwTpBKbHjRuXts2VV17JlVdemfa542wsvo1YwVgFiTmb2VjgZWBq3ArsFx9dF8d+I46dYDhwpaTp8RD82cD5UTR5DnByrNcXuCIKJDciHKiHEEDNAmYC4wiHuRelsW0VQWD6ecv+7cQHge6SJgN7sW61rCMwQ9J0QhA4OJb/H2Hens6i73S2Z/QpbuGdCDwQVxtT8QpwShTS7kB64emSkMmuiUAtM/sM+IAQjE0sxRiO4zhOGeFvIzolQtIWwIq40nYm4bD8ycW1K9JHDUIgcLqZfVoedjolw4Wocwv3I7dwP3KLXPIjWyFq30Z0Sko74P64tbiE8EZd1sTD22OAUR5oOY7jOJsCHmxVcSpazNnMJhIOqZe2/Vxg9+Sy8vShooShJfVkwy3BdywLPUZJ1wKnFykeYWY3lZV9juM4TuXhwVYVxypYzLk8KE8frIKEoc3scUI+q9K0vQnwwMpxsiSd2HSCSy65hMcff5z8/KDINWHCBPr27cusWbMYPnz4BvqIjlPe+AF5x3Ecp0qREJueOXMmM2bMYOzYsUyePBmAqVOnFubZStC4cWOGDh3KH/6Q7cvPjlO2eLDllBpJO0saGa/bSupUzuMNlVTiP0mzEYOWNDBKJyHpBklHx+v5khqWzuLCvosVxXYcJ3vSiU2vWbOGK6+8kttvv329+k2bNi3Mo+U4lYFvIzrFkk7s2sy+BRLBT1uCht+rFWlblnSkBGLQZjagjMfPFVHstLgQdW7hfqQmITQNqcWmBw8ezEknnUSjRo0y9OI4FU+Jg62YoXpXM5tVDvY4ZUB5iF0TkmSmHIeQSPQGoK6kQ4FbYnm6frsScou1BO4kiGKfS8iW3qkYGaLE2AMIOa7qEoKoC2M6ikuTfQT6x/s1UQrpknjIP1PfQ+P8jUwqq0vIb/VCTKB6DiFn1maEvGV/TpUzTNKtcV5mEEWxJV3Burc4HzGze9LY0ZQg9v02QT7pG+BkM1shqS3wMEEz8vPYX22C4Hg7SW2AGUATM/tK0ucEOaPlSf0nC1EzoNUG8XSVY8e64Rd8Vcf9SE1eXt569/fcc0+h2PTOO+/MI488wj333ENeXh5r1qzZoP6iRYuYM2cODRuWbLE6Pz9/g76qIu5HJZKNgCJBl29rQoLErwjiu3dl09Y/Ff+h4sSuC8eJ9e9Pepap388I2eq3JyRF7R3r3Q30zTDeUKJYdrJdhDcZT4zXqXwcSJIYdJq+C+sUGWd+9PNN4LxY1oyQrLR2vH8w8SxN3/lJ1+2A2XEu6hESxu6bYX5XA23j/fNJczoLODxe3wDcE6/nxP9W+xB0I88GmgCTMvnvQtS5hftRMgYOHGgDBw60HXfc0Zo0aWJNmjQxSbbHHnusV6979+42YsSIEvfv30dukUt+UMZC1PXN7BfgVIK4cTuC0LFTtShrsetMZOp3vJktNbMfCMHWK7F8NiHAyIYjJL0Xs+4fyTpB7VQ+biwvEf7dJzQXjyIETe9H/46iSDqLDBxKyDG2zMzygReBDhnqf2lmM+L1NKCppPqEQPKtWP4EQbIHwirf7+L9zfFnBzyLvFONSCU23a5dOxYtWsT8+fOZP38+W2yxBZ999lklW+o4gWyDrVqSGhFEbceUoz1O2ZBJ7PoBQqAwTVIt1oldt42fxmb2UaxfnNh1JjL1myyuvDbpfi1ZbG1L2pywmtTNzFoBQ4rxcWN5BzghJnKF4NsTSb7tbWYDs+wrk7h1KpLnag3Fz89EQnDVhBAktiEEeBNKOK7j5CwLFy7kiCOOoHXr1uy///4cc8wxdOnSJW39999/n1122YURI0Zw4YUX0qJFi7R1Hac8yDbYuoEgivy5mb0vaXfAs3/nLoVi15LqEMSuaxDFroGrCFt7yWLXApC0bynHLBSyjpRVv6lIBFY/SqpHPKQfZYBS+VjUtpIyAFhMCPAgJEntJmmHOG6DKIidjoIo/A0h6OkqaYt4Xu4USrjqZGY/Az9FrUUI590Sq1wTgHOAT81sLeGcXidCwOg41YKE2PSsWbP48MMPGTBgw3daEjm2APbff38WLFjAsmXLWLx4MXPmzKlIcx0nu2DLzEaYWWszuyjef2Fmp5WvaU5psQoSuy7CeKB5FFw+owz73YBo9xDCtuNowtkkSO9jUTHo0tAX2FzS7Ray4P8NeD0KSr9BEOVOR6Eotpl9QDgTNoXw/TxiZtNLYU93YFAcvy3h+8bM5sfniZWst4ElZvZTKcZwHMdxyoCshKgl7QU8BOxoZi0ltQZOMrN/lLeBjuOUPy5EnVu4H7mF+5Fb5JIf2QpRZ7uNOAT4K1AAYCHtw5mlN89xHMdxHGfTINvDw1uY2ZR154OBsnvTy8lxKlrsWtIDhDfqkhlsQX9wY/suN9FnSe8BdYoUn2tB+zFTuwoRy3Ycx3Eqh2yDrR8l7QEYQJRMWVhuVjk5hVWw2LWZXVyOfZeb6HNpg0+rILFsxykNX3/9Needdx6LFi2iRo0a/OlPf+Kyyy4D4L777uP++++nVq1adO7cmdtvv52CggL++Mc/8sEHH/DLL7/Qu3dv/vrXv1ayF45TuWQbbF1MOOS7j6RvgC8JyRKdaoakrsAn8RB4TlA0I34J215jZmmlcjam7yzHz7n5dJySUKtWLe688072228/li5dSrt27TjmmGP47rvveOmll5g1axZ16tTh+++/B2DEiBGsXLmS2bNnM3bsWHr37s1ZZ51F06ZNK9cRx6lEsslpVANob2ZHx1fVa5jZ0vI3zSkJ6fQLS0FXwhuM5RYcSKppKaRtyonK1iUs9/ksC1wbMbfIFT/m39qZRo0aFWoNbrXVVjRr1oxvvvmGIUOG0L9/f+rUCTvnO+ywAxBEopctW8bq1atZuXIlm222GVtvvXWl+eA4uUCxB+Rjrp4+8XqZB1plg6SmMSVC4r6fpIGSLpU0V9IsScPjsy0lPSbpfUnTJZ0cy3tIGiHpFeD1DGNdJWm2pJlRqw9JF8T+Zkp6IeZ9OgQ4iZBSYIakPeJnrKRpkiZK2ie230PS5NjHDZLyY7kkDZL0YRzzjFjeUdJ4Sc8AsyXdKOmyJBtvUtA1zGbeJkr6IH4OieWNJE2Idn8oqYOSdAklPZ2h21qSnohzPlLSFrHP+ZIaxuv2kvIk1ZD0qaTtY3kNSZ8l6hWxNdV8to3zNkvSKAWt0XS+5km6TdIUSZ8k0lZI2lzS43F+p0s6Ipa/Gt8UJpYPiNc3SvpjcXPrOMUxf/58pk+fzoEHHsgnn3zCxIkTOfDAAzn88MN5//2QgaVbt25sueWWNGrUiDPPPJN+/frRoEGDSrbccSqXbLcR31AQM36OpKziGyHl4qSnP7Cbma2UtE0suxYYZ2a9YtkUSW/GZwcDrdN9F5JOIKyuHGhmyyUl/q/3opkNiXX+AZxvZvdJepkkEWZJ/yFoF34q6UBCYs8jgcGEQ+vPSuqdNOSphPNHbYCGBEmbRM6nA4CWZvZl3L57ERgcV0/PjM+L43vgGDP7VdJvgWeB9sAfgNfM7CZJNQkvdUyU1MfMijsPtXf0/x1JjwF/Bu5IVdHM1koaRthGv4cgWzXTzH5MUffdFPM5iyCG/ZakG4C/E3J4paOWmR0gqVOsezRhWx8zaxWD39cV0rNMADpImk94gSXxksGhwLCiHcuFqHOWXPEjWex3xYoVXHbZZYXnsX7++Wdmz57Nrbfeyscff8xJJ53EM888w4cffsiPP/7Is88+y6JFi7jmmmuoV68eO++8c+U5spFUSeHjFLgflUg2AoqEM1pFP19k09Y/xYs4x/uEWPRYYCQhC3i9+Gwq8CEwI36+Iogh9yBo9mUa507gghTlhxMyl8+O3+fDsXwo60SY6wErksadAXwUny0mBAIQhI/z4/XdQK+kcZ4irO50JGgiJtvwBrAvcDwwMpu5AurHPmdHe5bH8sMIAtcDicLNsTy/mPlpCnyVdH8kMDpezwcaxuv2QF683hX4IF4PB7pk6D95PusXGWuPRD9p2uYBv4vXOwKfxetRwJFJ9SYCrQnB1XOEjPEDCVnjtyDoK2b89+hC1LlFrvmxatUqO/bYY+3OO+8sLDvuuOPWs3P33Xe377//3v785z/bk08+aWbBj549e9pzzz1X0SaXKbn2fZQW96PsoSyFqM1stxSfbIV3ndRUlH6hiG+RFmEo0MeCtuD1SeMnU4OQfbxt0qdZFuOlo6itjxACxp7AY8X0m+ByghxRG0IAtBmAmU0gBFzfAE9JOi/L/mDD+UncJ39HhfNjZl8D30k6EjgQ+HcJxiopCW3EZF3EdHP8PmFOOhBWuaYDFxAErB2nVJgZ559/Ps2aNeOKK64oLO/atSvjxo0D4JNPPmHVqlU0bNiQxo0bM27cOMyMFStWMHnyZPbZZ5/KMt9xcoKsgi1J56X6lLdx1ZyK0i98HeiVdA4psY24FbBQQbMv+c3SQh1BM/sF+FLS6bGtJLWJ9SYDCcmm5AS3E4AzJNWM55oOI0jTpGIUYVVr/+hjNtQHFlo4S3guQaIHBW3C7y1sjT4K7BfrJ+sSpqOxpIPj9VkEiRsIK1vt4nVReapHCFtzz1vmw/7J85lJ07AkTCB+Z3H7sDEwz8xWAV8TBOMnE1a8+lFC7UXHSeadd97hqaeeYty4cbRt25a2bdvy6quv0qtXL7744gtatmzJmWeeyRNPPIEkLr74YvLz82nZsiUXXXQRPXv2pHXr1pXthuNUKtme2do/6Xpz4CjgA+DJMrdoE8HMCuKZnfcI23jJ+oX1CasXd5vZEkk3Es4HzYoB13xCcJbNOGMltQWmSloFvEp4Q++6OPZ/CVtyCaHm4cCQeFi9G+GX+kOS/kbQOhwOzCScMxom6S/Av4CfY/tRhHNkMwkrRFeZ2aJ4tqiobaskjSesnmX7duKDwAsxABzPutWyjsCVkgqAfCDxx0BCl/ADM0uXruQjoLukfxIE1h+K5dcDj0q6hjBXybwMPB4/mSg6n92Bh2Pw+wVhVa+kPBj7mE1YfethZokVsImEZKjLJU0EdsGDLWcjOPTQQxPb1RswbNgGRwGpV68eI0aMAHJLVsVxKpOstBE3aBSCgafM7KSyN8mpCsRgYYWZmaQzgbPM7OQS9lGDELSfbmafloed5YWk9oRguLTC1jmFayPmFu5HbuF+5Ba55Iey1EbMdmWrKMuB35ayrVM9aAfcH1falgC9StJYUnNC/qlRVTDQ6g9chCf2dRzHcbIgq2BLIY9TYgmsBtAcGFFeRjklRxWsX2hmEwmH1Evbfi6w3ksW5emDylB/0MxuBW4t0n+pNRdVjlqQjuM4TuWT7cpWcs6h1cB/zWxBOdjjlBKrYP3C8qA8fbBy1h+0jdBctHLUgnSckpBOB3HgwIEMGTKE7bffHoCbb76ZTp06raeDuHr1as477zzXQXScFGQbbHUys6uTCyTdVrTMcRzHqbqk00EEuPzyy+nXr9969ZN1EJcvX07z5s1dB9FxUpBV6gfgmBRlJ5SlIU7uIKlrPFOVM6iIvFEJ216TRZ2E3NDOkhLZ3ntIur80Yyb121FRUshxcp1GjRqx334ha0qyDmI6lKSDuGLFCtdBdJw0ZFzZknQRQbpk9ygzkmArQnZqJ4eQi1GnI2sxajP7lpCioazoSEhF8W4Z9lnmuBB1blEZfsy/tfP690k6iO+88w73338/Tz75JO3bt+fOO+9k2223pVu3brz00ks0atSI5cuXc/fdd7sOouOkIGPqh5jiYVvgFoJmX4Kl5rqIG03UBxxjZi3jfT9CEtP/Ab0J5+PmmtmZkrYE7gNaEYLkgWb2kqQehKzzmwNbmtmRaca6ipBEcy3wbzPrL+kCgjbeZgSpm3MJ55rGEPJm/cy6ZJ4PANsT3kS9wMw+lrQH8DQhP9i/gSvMrF58Q/F2wuqnAf8ws+ckdSTo+y2M47wA/Ghmg6ONNwHfmdm9meYqXj8FbBkf97GgQ9iIIFezdZyji+LcXEnIJTYnXa4tSfnR9uRxegDtzayPpM7A34ATCTnQHiYkEwXoa2Yb/PER+5pMyP7+A3AJQWrpsTiXPwA9zeyrNDYNBX4hZIXfiZCzbGSG+X0QGGtmL0saBfxkQU/zfILe5t+K9J+sjdhuwD1DUplRpdixLny3orKt2Hgqw49Wv6lfeJ3QQTznnHM47LDD+N///kf9+vWRxGOPPcbixYu5+uqrmT17Ni+99BL9+/dn6dKlXHbZZdx6662FOoj5+fnUq1evYh0pB9yP3CKX/DjiiCM2PvVDzHj9MyGrNpJ2IPxSryepXrpfEs5G42LUmSkPMeq0SDoFuIJwdvEnSc8Qcmy9LakxIfv9BjJGZjZf0sMEfcY7Yl+vAE+a2ROSegH3Er6bdDQiCEnvQ0ikOpL08zuBINXzMvCb2JbYfngK+/6PkPSVxrvvaXfOLm0mmNzhL61W436UjvlndwSgoKCALl260Lt37/XkeRLsvvvudOnShY4dOzJixAi6d+/O0UcfDcArr7xCrVq1CnMg5VI+pI3B/cgtqqIf2aZ+OBG4C9iZ8IuuCSHrdovyM22TZhbwtKTRwOhYdixwUlz9ghD0JlZW3ihmpfFogmD1coCkui1jkJUsC7QekuoBhwAjwoIKAHXiz4NZFyg8w7q3Vg8Fno3bhN9JeougQvALMMXMvox2zJe0WEF+aEdgepZpGGoTcny1Jawa7RXL3wcei/I8o81sRhZ9FccRhEDu2ChfBGE+myfNx9aStjKzpVn0dzAhWIKwOnd7MfVHR2miuZJ2jGXp5nci0Deet6Drt/kAACAASURBVJsLbBtX+w4GLs00SN3aNZlXZBupKpKXl1cYNFRlKsuPdDqICxcupFGjELuPGjWKli1bAhTqIJ5zzjksX76cyZMn07dv3wq323FynWz/dPoHcBDwppntK+kI4mqXs1FkEqM+DDgJuE5SC9aJUa+X5juuNG2MGHVXM5sZt8w6pqhTKEZdzBhFx0tHOjHqnSidGHUN4FcIYtSSDiPM31OSBpnZxkpKfUHIB7YXMDWW1QAONrOy2OgpTsJhZdK1ivxcvyOzbyRtS9CbnAA0IOgk5mcZCDqbOAkdxFatWtG2bfhP/uabb+bZZ59lxowZSKJp06b885//BODiiy+mZ8+etGzZEjNzHUTHSUO2wVaBmS2WVENSDTMbL+m2crVs06BQjJpwiLoLQTh61zjHbxO2xpLFqC+JEjn7mtn0LMd5HRgg6ZnENmJc3SoqRp147Wg9MWpJX0o63cxGxPNCrc1sJuvEqJ9jQzHqCyU9QfiFfxjh3NQG+ogELcUbCKtVf8jSn/rAAjNbK6k764tRf2NmQ+IZt/0I+p0FkmqbWUGW/SfzX4KY86g4B3MI89kHGBTHbZthFW0p4QxZgncJc/UUYc7fTtWoGNLNL8Akgm7lkcB2hG3HkaUYw9kESaeD2KlTp5T1k3UQHcdJT7apH5bE7aSJhO2twYRVGWcjiL/8E2LUY1hfjHo2MJ0oRg3cSAhIZsUUCDeWYJyxhHM8UyXNIAQPsE6M+o04doLhBFHn6fEQ/NnA+ZJmAnOAhAZiX+AKSVMI54OSxahnEcSoxxHFqNPYtoogKP18CcWou0uaTFhxShajniFpOiEIHBzLE2LUT2fZf1Eb5xHmYEScj0uB9pJmSZpLeJkhHa8Ap0iaIalDbNszvt17LnBZKUzKNL8TgVpm9hlBd7IBLkTtOI5TqWQlRB1XCVYQgrOzCSsLT5dU5sSpXmgTF6OuTrgQdW7hfuQW7kdukUt+qCyFqM1sWdyi+W18i2oL4taNs0mzyYpRO47jOE62ZPs2YiIfUwNgD8Jr5Q8DR5WfaU5JkYtRZ0RlKEadou+ebLgl+E42uofaCBFrx3EcJ/fJ9szWxcDvCK/uE1chdigvo5zSYWazzaxtkU+5BFrlRXn6YGaLU/Tdtiy2w83s8RT9ZiUwbWY3pWjrgZZT5nz99dccccQRNGvWjBYtWjB48OD1nt9xxx1I4scffwTg448/5uCDD6ZOnTrccccdqbp0HCcLsn0bcaWZrUrkFZJUi+JfWXccx3FyiHRC082bN+frr7/mjTfeoHHjxoX1GzRowL333vv/7Z15mFTF1YffHyCIoIAibqCIATdEEtFg3HCB4BL3uG+gHxrjgolbYlSi+SIuRESNRkBxQeOuSIxikBHiAqKOgCiiMol8CgqyiIignO+Pqh56mt5mmJnuHs77PP3MvXXrVp1TfbGPVXXPj2eeeSZLq47j5CLfma1XFMR8m0vqDTxOeMuqzpA0StLx8XiEaiCMrCIUVM4XBeHlfFMh1BuSBsY9e4nz55Oy3NdmP2WSsm46TK6jPMSms7RTIaltDe7LWxxbUndJ6d+fz33voKRkto5TY7IJTV9yySXcdNNNJCXrpV27duy5555ssMEGBbHXcRoK+c5sXQmcTdCXOxd4npCMsk6IUiuVmNk5NWyqzgWV06HaEVnuSMg79fC6W5SZGtg6EHiIoJGImdUogKgD8habLhDdCZnony+0IelwIerioi78yCY0PWbMGLbZZht2373GWzAdx8lC1mBL0rZm9t8oFzI8fvJG0mmEvEJNCfmczgfuIEiLNAeeMLNrY90KQgbxPrFOcjtlwKVmNlVSH+CPBMmYjwlCvsskDSZkXP+ekHTyqXh+gKQ/ELKvf5zGxuS22wJTzaxjzNp+X7S9Ubx/djqfzOwHScsIkkY/B35LmmSVkvYk5H5qQcgMfjAh8eRaosrAYGDnmBfrfoKG3mBCLqlmwJ1m9reYOuEO4ABgTrT1XguCxQcTJHSaEKRsfmVBbzF5rP8p6Tgz+0m0sTPwdzPbI439FxEkmyZIWmBmB8a2ehASr74Q/e5JyAF1X/yu2gGnmtkUZRbUbh7r70KQgmqe1G/a7zzp+mDCrGs5UWxaQeqoAyEr/21RBzAnkn7DmrcqR5jZ0GzlSfd1IghrDzCzN1OuNSXkU2suaV+CsPtLhO+gEyFwHWBm07KYtrukl6NPN8XErb0Iz+4RsZ87CFnuPyU8R8fE8t6E7/7Y5AZVVYiaa3Yr/dR5WzQPgUqpUxd+lJWVVR4nhKbPOeccXnvtNa644gpuvvlmysrKWLFiBa+++iqtWq0Rpq6oqKB58+ZV2siHZcuWVfueYsT9KC5K0Y9cM1vPELJwI+lJMzsu34Yl7QycCOxjZqsk/ZWQo+sqM/sqzl6Nl9Qt6UdmhZntG+/vm6bNtsAfgENiOoorCEk17wCOAXaKOZ9am9lipQgqV5PzCD/So+OPZeMsPj1ACJZmmNk1GcajKSHT+olm9qakTQi5yzKJKl9J1R/SAcASM9tTUjPgVUnjCOkXOhKCl3aEQOVeSRsS5HgONrMPJT0A/ApIBAnJY32I1mRB7xfvWwszGxaDjgPNbEGaKj8ivFU3gBDcnULQ8TuSMPN0NJkFtc8FlptZN0ndCLm3Mn7nhOAlYdeVWltsun98zpoThJqfzLURXtIe0f+fEiRxJivoDjbKUL4o3rcjIRFsv3SZ5ON+x2uAHmZ2QbzndoIW5NGSDiI8Q9kkkboRgtgWwDuSsk17vAzcKWlzM/sy2n5fGrtciLpIqQs/MglNT58+nYULF3LBBRcAsGDBAi688EKmTJnClltuCYRArWXLltXObVRM+ZDWBfejuChFP3L9a07WYOuUsVZ6DiYEAm/GPQDNCYHFCTFwaELIOr4LIRs2hGAkGz1j/Vdjm00J8iRLCfp4I+KP0Nhq2pqO14GrJLUHnoqzWpl8giCI/GSW9nYEPk/MelgUNY4zPelElVPpA3RL7GMjJJbtTAhmHo+zj/MkTUjqb46ZfRjP7ye8VZoItpLHegQhq/lvCMHkXln8yMYcM5se/XoPGB+D3+mEgDDhRzpB7f0Js3eY2TSFDOuQ+TvPxUWSjonHHQhjleutw30JOb++iT48BexH+HeQrnwMsDnwLGHm87087Eru6zgAM3tZ0maSWpnZkgz1n7Wgxfht/I73IuQ2W4s45g8Cp0m6jyBEfUY2Y1yIurioKz8sjdD0brvtxhdffFFZp2PHjkydOpW2bau9jdFxnAzkCrYsw3E+CLjfzH5XWSBtT1g+2dPMFkkaxRrxZchPUPklM1tLBFvSXoQA7ySCbt1BedqZLAZdaYuZPSxpMkHU+EVJ56TzKYkVOfY+ZRKDTiuqnOH+C83sxSqFUqZfyGxi0FB1rJ8EriXMiLy1DqkQkkWTVyedr2bNs5ZJUBvSj0/G7zwTcXntEIJY9PK4VLxh1pvW9FWdcggSRZ8SUqNUJ9hK12a2f2Op14zMQuYQZrKeIzxPj5tZ6a+tOetMJqHpTNqH8+bNo0ePHixdupRGjRoxdOhQZs6cySabbJK2vuM46cn1NuLukpZK+powq7I0cS5paY57xwPHS2oHIGlTwgzGN8ASSVsAh1bT3jeAfST9KLa5kaQuCrqNrczsecIG7sRyTKWgchYqCLNVAIlZo8QenE/MbBhhBqNbOp8UMuvnwwfA1nHfFpI2Vkih0Yow47WaoJWXeDkg1fYXgV8piEYT/W5B2CN1nIJI+BaEPV2J/jomxiq2/Uo6w8xsRWz/LtIsN6WQz5hmIyGorejHj2P5RMKSLJK6EsYbMnznadpdlRgbwpguioHWToTZsXyYCBwd+2hBWJqelKUcYCVhefQMZX97NHXckv3tBSxIzHZm4ChJGyokZu1FWKb9D7CLpGaSWpGUZNjMPgM+IyzBjsrDd2c9ICE0PW3aNMrLyykvL18r0KqoqKic1dpyyy2ZO3cuS5cuZfHixcydO9cDLcepAVlntsysxpI8ZjZTYWP6OIVN3KsIy1jvEGYAPgFerWabX0o6C3gk7luC8GPyNfBs3KckwmwRhH00wxU2dh+fboM8YQP5Y5JOJ8zsJDiRsAyzCpgHXBf3AKXz6T952L5S0onA7XEf0beE2Ze/Ak9K+iVBkDkx4zQN+F5B/HkUYWN9R+DtGKh8SfiRf5LwIzsD+JCwaX9J3APWjyCenNggf3cWE0cDxxJeLsjGPYRN9Z+b2YG5/E7D9YSlzGnRjwrgCGKgF5cPy4EpkPU7/zCl3YTY9NuEjeznxbZmEQK2nJjZ23G2dUosGmFm70BIRZJaLqljvO8bSUcAL0n6xsyeTdP8BOBKhU38NwCDkvxdDpyZw7wpwD8I/8NyfQymkPQY4VmZTfi3lcxoYHMLmfodx3GcApGXELVT3EhqGd/I3Izwo7yPmc2rZhuXEmYHr64TI516R+HFkXfMbGSuui5EXVy4H8WF+1FcFJMfqk0haqfoGavwZl9TwqxHdQOtpwmal/nuc3OKHElvEWZJf1toWxzHcdZ31ptgS9KdhE3MydxmZrn2KNWkr6eB7VOKr0jd3F5bmFmvdbz/mNSy+vahPogvPDRLKT498QZlLfXxc+DGlOI56cY4zb01FrNOJV2eNMdxHKcwrDfBVk1+sNahr5w/rMVOQ/AhFasHUe4YjNYoII2Bf60H/876zaeffsoZZ5zBvHnzaNSoEQMGDODiiy/m6quv5tlnn6VRo0a0a9eOUaNGsfXWWwNhmWbgwIGsWrWKtm3b8sorad+tcRwnT/LVRnQcx3FKkIT49Pvvv88bb7zBnXfeycyZM7nssssq30o84ogjuO66kCd48eLFnH/++YwZM4b33nuPxx9/vMAeOE7p48GWU20kbS3piXhcY4HlavRXKUpezft6SfpZLdmQVqxaOUSiJZ0laevasMFxakIm8enkFA7ffPNNpQD1ww8/zLHHHsu2224LBDFqx3HWjfVmGdGpPpKapEuGGdMOJIKfYhZY7gUsA14roA1nEdJyfFZAG3LiQtTFRW35kU18GuCqq67igQceoFWrVkyYEMQnPvzwQ1atWkWvXr34+uuvufjiiznjjKwCBI7j5MBTPzQgYt6nsWbWNZ5fShCI/oqg9fg9MNPMTlJmQeizCFnzNwRamNlabygm+iHoZn5EkC36P0L+qLFZ2j2akLS1KzCE8Pbk6YRM84eZ2VcZ/BoV/XpCQWPwF7HP14BzozzNRck+ErQl3yBIIH1JyL4/KU3bvyDk7WpKkPM51czmxzQajxDkeKYAfYE9zGyBpKsI8jefxrbfMrNb0rR9PCFH2v8R8qrtDfyMNOLgGfyuIMgs/QLYAPilmX0QEwSvJWKtIIu0HyGr/QLgEjN7QEG6534z+1dK+8lC1HtcM7RaOvNFyRbNYf63hbZi3aktP3bbZo2YdEJ8+rTTTmP//fevUm/06NGsXLmSfv36cdtttzFr1iyGDBnCypUr+fWvf80NN9xAhw4dqt3/smXLaNmy5Tr7UWjcj+KimPw48MAD80r9gJn5p4F8CElPZySdX0pInvkZ0CyWtY5//wycligjJAltQZiJmQtsmk8/sf4dSdeytfsRIYv65oSA4LxY71ZgYJb+RhGS0pJsF/Ag8It4nM7HQQQx72xj1oY1/9NxDjAkHg8DronHhxPkcdoS1AamAxsBm0SfMvYBlBEEqCEEsJ8CXeL5Azn8riAEiQDnE5KpQghmr43HBwHl8fjuaGtXQiA3PJbPBlpmG4cuXbpYQ2DChAmFNqFWqG0/Vq5caX369LEhQ4akvV5RUWG77rqrmZndcMMNdu2111Ze69+/vz322GM16te/j+LC/ah9gKmWx++z79laP5gGjJZ0GmHmB4IgdCKjeRlrBKEhaBGmnWXKg2ztTjCzr83sS0Kw9VwsTxaqzsWBkibHWZyDgF1jeTof86E9QftyOnBZUnv7Aw8BmNk/gEWxfD+CKPVyC/I6Y6rRVzpx8P2z1Ad4Kv59izVjtC8h0MTMXgY2i3I9k2J7+xMy8u8maRvgKzNbVg07nQaE2dri0wCzZ8+uPB4zZgw77bQTAEcddRSTJk3i+++/Z/ny5UyePJmdd9653u12nIaE79lqWGQSJj6c8AN8JHC1pF3JLAj9U3ILgmcjW7v5CFVnbjjIMf2VMFP0qaRBZPcxH24H/mJmY6JG4aCka5nW2Gu69p5LHDwdiTH6gapi3qkYQW/x14Tg9iqChuPxrNFxdNZDMolPjxw5klmzZtGoUSO222477r47qHntvPPO9O3bl27dutGoUSPOOeccunbtWkgXHKfk8WCrYTEfaBf3Gy0jaA6OAzqY2QRJ/wZOIezjSghCX2hmJunHFnUAq0k6wezaaDcdicBqgYL4+PHAE1GnMp2PXxOW+rLRirCnCqrqEyaEov8k6VDCcmOifJSkwYR/P78A/pal/eTxqRQHN7OPyCIOnoOEbdeniFgvjW9MNjWzT+JYXApcUIM+nAZCQnw6lVQB6mQuu+wyLrvssro0y3HWK3wZsQFhZquA6whi1GMJP+6NgYfiMtk7wK1mtpggCL0BQbx5RjyvCROAXSSVR6Ht2mp3LaLdwwnLjs8Q9iVBZh+fA46Jtu2XodlBBLHuSYRN5Qn+COwfha37AP+NNrwNPEoQy36S3LNGo4C747KqgIQ4+HTCjF42cfBMDAJ6RBHrwVQNEiezRqR7ErAN8O8a9OE4juPUEv42ouM4LkRdZLgfxYX7UVwUkx/5ClH7zJbjOI7jOE4d4nu2nIxI2o341lsS31kdaQzWpVh4zI31y5Tix83sf9e17dh+jW1viKLfjuM4zho82HIyYmbTCRni66u/OhMLj0FVrQRWGdqvse3WAEW/ndz079+fsWPH0q5dO2bMmAFAeXk55513HgsWLKB169b89a9/Za+99mL06NHceOONALRs2ZK77rqL3XffvZDmO45TDTzYchzHKQBnnXUWF1xwQRUpnMsvv5xrr72W5s2bs3z5ci6//HLKysrYfvvteeWVV2jTpg3//Oc/GTBgAJMnTy6g9Y7jVAffs+XUiIYkRl3TtvPsv7Wk8+uibae02X///dl0002rlEli6dKlACxZsoSttw4a5j/72c9o0yZkH+nZsydz586tX2Mdx1knfGbLyYqLUa8zrQlSO38tUP954ULU9UeqOHQyQ4cO5ec//zkrVqxggw024LXX1n5sR44cyaGHHlqXJjqOU8t46ocGhotR10iMehSwgiDVswXwGzMbG+3tYWYXxHpjCSLSOwBdzeySWP4/wM5m9ps0bf8dOAqYBbwEXA7cBBxKyPr+JzN7NIPPvQg5tRbE8XqLoDtpkg4mRdAa2B240syOlXQU8HdC0tZGhO+8U0r7LkRdAJLFoefNm8fvfvc77rsvvEcxbNgwdt99d/bYYw/efPNNxo4dy5AhQyrrv/POOwwdOpRhw4bRqlWrtdouNopJMHhdcD+Ki2Lyw4Wo19MPLkZdEzHqUcALhKCkc/R9wzR+jSXMlLUAPgY2iOWvAbvl+X0cRwi6GhMCu/8CW2W4t1cco/bRttcJuohpBa0JgdecWHYLIQjbBzgAeCTbGLgQdWGYM2dOpQC0mdkmm2xiq1evtgkTJtjq1att4403rrz27rvvWqdOnWzWrFmFMLVGlNr3kQn3o7goJj9wIWonBRejzs5jZrbazGYDnwA7ZapoZt8ALwNHSNqJEHRNz7OffQmBzw9mNp8g17NnlvpTzGyuma0mZK3vSAZBawvLvR9J2hnYC/gLQS9yP1wfsSTYeuuteeWVoOD08ssv07lzZwD++9//cuyxx/Lggw/SpUuXQproOE4N8D1bDQ8Xo66+GDWsLS5tZB5LgBHA7wmSSNXJA1ZdMerk8UqIUWdrYxJhiXIV8C/CrF1jwgynU0ScfPLJlJWVsWDBAtq3b88f//hHhg8fzsUXX8zixYtp27Yt99xzDwDXXXcdCxcu5Pzzw7sWTZo0YerUqYU033GcauDBVsPDxairL0YN8EtJ9xOSi3Yi7LHaGDg/tr0NYbYIADObLKkDYc9atyztpo7NRODc2NemhOCwuoq/2QStJxKWFR8wsy/jc7Al8F41+3DqmEceeSRt+VtvvbWWHMmIESMYMWJEPVnmOE5t48FWA8PMVklKiFHPoaoYdSvCrMitZrZY0vXAUIJotIAKQnBWXSawZtnwBoL4dG20uxbR7oQYdQVri1Gn+vgcIRg7igwb5COzCAHLFoR9ZCskvUoYw+nADODtlHseA7qb2aIs9i6U9GoU5f4nYYP83sC7hNmzy81sXjXHYIWkhKB1YoN8QtB6cvRhYjyfBnwR9xY4juM4BcCDrQaImQ0DhuVR71vg3DTlowjLT9nurSC8IUfc25W67yhnu2bWMd8+zeyspOM/AH9IU23fNPd9SPaZpyptp5QbcGqWW/clbOzPipmdklJ0GXnMZplZGWHPW+L8gqTj8cCP09zzLdAs6XxArn4cx3GcusU3yDtONYmJSj8Evo1Bj+M4juNkxIMtJyuSdpNUnvKpM50QSXem6a9fLbV9VZq2r6puO2a22My6mFmlsLWkzdK0XR73TOWyq17HeH2gf//+tGvXjq5du1aWffXVV/Tu3ZvOnTvTu3dvFi0Kq78ffPABe++9N82aNeOWW24plMmO4zRgfBnRyYq5GHW+bS+khuNU32O8PpBOd3Dw4MEcfPDBXHnllQwePJjBgwdz4403summmzJs2DCeeeaZAlrsOE5Dxme2SgBJr8W/HSWl7v+p7b4GxazzNbm3TFLuTLr1gKSzJG1dg/uqrZMo6WZJ70m6ubr95dn+WZLuqIu2GyrpdAefffZZzjzzTADOPPPMyuCqXbt27LnnnmywwQb1bqfjOOsHPrNVAphZQki5IyGlwcOFs6ZkOIvwBuFn9dDXucDmZvZdzppk1pssJA1JG7FXhmvz589nq622AmCrrbbiiy++qDe7HMdZv/GZrRJA0rJ4OBjYL+7puURS4zir8qakaZLOjfV7SXpF0mOSPpQ0WNKpkqZImi5phzz77S7pjdj205LaZCtPuq+RpPsl/SlL230lvS3pXUnjY9mmkp6J7b4hqVssrzLbJmlGnOXrKOl9ScPjzNI4Sc3jzFQPQjb58lg2WNLM2HaujTmHSJoUx+6I2GemsR5DkO+ZLOlESdtJGh/rjJe0baw3StJfJE0AbpTUQtK9sb13FFJTZKODpBckzZJ0bWyzo0JKicS4XBrHagdJbyeVd5b0Vo72HcdxnDrCZ7ZKiysJOn+JAGAAsMTM9pTUDHhV0rhYd3dgZ4IA9SfACDPbS9LFwIUELb1cPEDITfWKQu6ua+N9mcohPFOjCXqAafdHSdocGE6QmJkjKbHe80fgHTM7WtJBsZ9ce5k6Ayeb2f9IeoyQuf4hSRfEsZoa2z8G2CkmWW2do82OBD3BHYAJkn4EnEGasTazIyUtM7Pu0bfnCAlF75fUn5CC4+jYbhfgEDP7QdKfgZfNrH+0Z4qkf0UpoHTsRUi1sRx4U9I/CALVa2FmH0taIqm7mZUD/UiTVkNVhai5ZreimmyrEVs0h7KyMiCIPH/zzTeV55tssglPPvkkm222GQsXLmTjjTeuvAZQUVFB8+bNq5QVimXLlhWFHeuK+1FcuB+Fw4Ot0qYP0C1pj1ErQvCxEnjTzD4HkPQxIYs8hASdB+ZqWCE5aGszS2Qmv5+QRDNtedKtfyPoDGbbiN4TmGhmc6AyTxeEvFXHxbKXFd7wa5XD1DkxoAB4i/T6ikuBFcCIGKSMzdHmY1GLcLakhE5iprGek3Lv3sCx8fhB4Kaka4+b2Q/xuA9wZNKMXUI/8v0MNr0UN+Ej6SnCWGXb0T0C6CfpN8CJJGW/T2Bm9wD3AOy444524am5JteKn+TM6xUVFbRo0aLy/MQTT2T27Nkcd9xxDB48mJNOOqlKlvaysjJatmxZpaxQpGaQL1Xcj+LC/SgcHmyVNiLMML1YpVDqxTpqEK4DrxGEooeY2YoMdcTaWoSJ8lRyaRSmagc2X6sBs+8l7QUcDJwEXEAQsM5EOp3EtGOdB8ltJc9apdWPrKZN2cblScKM48vAW4lAbX0hne7glVdeyQknnMDIkSPZdtttefzx8P8I8+bNo0ePHixdupRGjRoxdOhQZs6cySab5KPy5DiOkxsPtkqLdBqEv5L0cpTp6QL8X210ZGZLJC2StF+UuDkdeCVTedKtIwl6f49LOibDRvDXgTslbZ9YRoyzWxMJGduvjwHjAjNbKqmCKPcj6ScE/cJcVI6VgobiRmb2vKQ3gI9y3JtOJzHtWKdZ9nuNENA9GH35d4Y+qqsf2Tsuh35LWJbsT3odzBegUtLnReAu4Owc/jY4MukOjh+/dg7aLbfckrlz59a1SY7jrMd4sFVaTAO+l/QuYQ/ObYRls7clCfiSNfuDaoMzgbslbUTY99UvRzkAZvaXuPz3oKRT45Jc8vUv436hpxREnr8AegODgPskTSPsTToz3vIkcIaC9uKbwId52D4q2vgtcCjwrKQNCTNKl+S4N51O4gjyG+uLgHslXRbrZErIWl39yH8TArgfAQ+b2VQAra2DmcxowpLmOBzHcZyCIdendZyGSdwP1srMrs5Vd8cdd7RZs/Jd0SxeSnEvRzrcj+LC/SguiskPSW+ZWc78kj6z5TgNEElPE96mzLY3zXEcx6kHPNhaT1HQBPxlSvHjOd4irEk/k4FmKcWnR4maglFf/lcHST8HbkwpnmNmx1S3rZrc4ziO49QNHmytp9SlTmBKPz+t6z5qQn35Xx3im47VfdvRAW677TaGDx/OsmXLGDhwIAMHDuSyyy7jueeeo2nTpuywww7cd999tG6dK8Wa4zhO7eMZ5B3HKWlmzJjB8OHDmTJlCiNHjmTs2LHMnj2b3r17BtPeIwAAGddJREFUM2PGDKZNm0aXLl244YYbCm2q4zjrKetVsKUkkWFJIyTtUoM2jq7JfXVFsh+Sfl/HfXWXdFjS+ZGSrqyDfnpJypp4NLlOPP5ZtvpZ2qmxyLOqIVotaWB8e7Mm/SzLXWv95f3336dnz55stNFGNG7cmAMOOICnn36aPn360KRJmLzv2bOnp3dwHKdgrDfLiJIaJ5+b2Tk1bOpoQgbymetsVDWQ1Dgp+3glKX78HvhzHZrRnaA5+Hzsewwwpg77y5dehDxTrxXYjmwMBB4ipLQoOkpViLpi8OF07dqVq666ioULF7JixQqef/55evSo+nLQvffey4knnlggKx3HWd8puWBL0mmEXEZNCfmFzgfuAPYkZA9/wswSQr0VwL0EaZQ7UtopY412Xh+CLl8z4GOgn5ktkzQYOJKQqXsc8FQ8P0DSHwgZwD9OY2Ny222BqWbWUdKuwH3R9kbx/tnpfIr6ecuAvwA/B35LmgSZib6A44HmMRfVe2Z2ao527wQOARYRgrSbCHIxA2MQldpPU+C62Me+wA1xvHuY2QWSRhESbu4EbEfIL3UmQb5mspmdFdvJNNZ9CXmnFgDJIsotgNuB3QjP6yAzezbpekfgPOCH6O+FQGvgD9HvhcCpZjY/1ac0Pm5HeF42J+bIMrP/ZipPufd6oAPQPzWvmKSLgK0JOosLzOxASScTxl3AP8zsihy2DSHILC0CToq5yspI/5xNImS7L4/3vgr8ysympbRZ8tqICX20o446ir333pumTZvSqVMn5s2bV3ntoYceYvHixWyzzTYlo6dWitpv6XA/igv3o3CUVLAlaWeCzts+MYv3XwlZuq8ys6/i7NV4Sd2SflhWmNm+8f6+adpsS/hhPsTMvpF0BfCbuLRURbzYzBZLGgOMNbMnauDCecBtZjY6Bi+Ns/j0ANCCIOh8Ta6GzexKSRckCSLnarfMzK6IKQL+REgqugtB63CtYMvMVkq6hhhcxT7OSqnWhpBq4EjgOWAf4ByCcHJ3YC7px/omgjD1QYTs7o8mtXkVaQSbk+yqkHQ3sMzMbol2tQF6xu/tHOByQrCaiztILyKdqZzY300ErcR+liZxnZkNU9AoPNDMFkjamvDW4R6E4GmcpKPNLJPWYQvgbTP7bfwOriVIDmViBHAWMFAh032z1EAr2lWpjbhtpx/ZkOkl9Z8DACpO7QVAr169uPnmmykrK2PcuHG0b9+eXr16cf/99/Pee+8xfvx4NtqoRqu4BaGY8gitC+5HceF+FI5S+6/rwYQfqDdD0m2aE7KPnxD/L70JsBUhaEj8uDyapp1kesb6r8Y2mxLkZKorXpwPrwNXSWoPPBVntTL5BEHr78ka9pWt3ZVEWReCMPV3MSCbTnoh53x5LgY404H5ifQOkt6L7bYn/VjvREhxMDvWf4g440JmweZstAcelbRV7CNVLDoTmUSks4lLX02YuRtA/uxJCHa/BJA0miBxlCnYWs2a5/ghwgxrNh4Hro5Z7PsTsulnpfkGjZk1+PDclhcpX3zxBe3atWP+/Pk89dRTvP7667zwwgvceOONvPLKKyUVaDmO0/AotWBLwP1m9rvKAml74CVgTzNbFJezkgV5U7Xr0rX5kpmdvNaF6okXJ5MsEFxpi5k9HPNOHQ68GGdd1vIpiRXp9mnlSbZ2VyXNwFSKVJvZaknr8kwki12nCmE3IQSPa411nPXKJGWQVrBZ0hZZ7Lgd+IuZjVHQWByUrwMpZLIpufxNYA+t0XfMh3SC29Uh0X+m52y5pJeAo4ATCPvsGjTHHXccCxcu5LvvvuOee+6hTZs2XHDBBXz33Xf07t0bCJvk77777gJb6jjO+kipvY04HjheUjsABWHebQkB1ZL4A3xoNdt8A9hH0o9imxtJ6qIgXtzKzJ4nbG7uHuunikGno4IwqwRhLxWx7U7AJ2Y2jLBU1y2dT3GPUE1YJWmDeFyb7SbIx/dspB1rgqbf9pJ2iPWSg7GEYLPiPT/Ow65WrBHkPnPt6hlJiEhDVRHpTOUQZggHA/+QlG1skm2cTNj31zYufZ9MVTHvVBqx5jk6Jan/CtI8Z5ERhOXON6sRBJYskyZNYubMmYwcOZKDDz4YgI8++ohPP/2U8vJyysvLPdByHKdglFSwZWYzCXt+ximIFb9EmEF5B3iPsIn51Wq2+SVhf8sjsc03CMtaGwNjY9krrBEv/jtwmaR3koKDVG4BfiXpNaBtUvmJwIy4iX0nwj6gdD5tVR0fkriHIGw8upbbTTAB2EVSuaRqv9qVaazNbAVh2fAfkv4N/CfptuuBDQh+zYjnqTwHHBPt2o8wk/V43Ci+oBomXgT0i7adDlycozzh1+OEPWdjJDXP0PY9wD8lTTCzz4HfEcbzXcJ+rGcz3AfhfyZ2lfQWYXb1ulie6TnDzN4iLIXfl9ttx3Ecpy5xIWrHaYDETfhlhGB2dY7qLkRdZLgfxYX7UVwUkx/KU4i6pGa2HMfJjaQzCEuVV+UTaDmO4zh1S6ltkC8qJN1JSG+QzG1mVutLNzFFw/YpxVdEPb3a7qvWBJGLBUn9SFn+A141s1/Xcj81/p5US6LdZvYAIcWH4ziOUwR4sLUO1PYPdY6+6i3QaYiCyDEArvP9S+vyPRWraHchWLx4Meeccw4zZsxAEvfeey9Dhw4lsdS5ePFiWrduTXl5eYEtdRzHyY0HW47jFB0XX3wxffv25YknnmDlypUsX76cRx9dkzLvt7/9La1atSqghY7jOPnje7acekdFJuYN+YlfFzNaBzHuYmPp0qVMnDiRs88+G4CmTZvSunXryutmxmOPPcbJJ6+VGs9xHKco8ZktJ28kNTGz2hDQq3Mxb2UQ7m7A9GIdxLiLRYi6YvDhfPLJJ2y++eb069ePd999lz322IPbbruNFi1aACGn1hZbbEHnzp0LbK3jOE5+eOqHBoyCSPNYM+sazy8FWgJfEXQavwdmmtlJyiD4HPUPDydkKG9hZmmz6Eu6nJCDajXwz6jV+D+E/FlNCZqHpxOSw44FlsTPcbGJOwlCz8uB/zGzD2Ies9FAY+CfwG/MrGVMcHoTIYGtAX8ys0djtvhrgc9jP08CC8zstmjj/xJkhIalsb8XIX/VQmBHYCJBuHu1pGVm1jLWOx44giB4PQ3oEqWONonnnc1sVZr2fwTcHX38Afgl8EkWPy41syPivXcQRKZHKYir3w/8gpB/7JcEWak3YrtfRtu2jGPxA7DEzPZPY1OyEPUe1wwdnlql3tltm1bMmjWL888/n9tvv51ddtmF22+/nRYtWtC/f38Abr31VrbZZhtOOOGEte5ftmwZLVu2rG+zax33o7hwP4qLYvLjwAMPzCv1A2bmnwb6IegRzkg6v5SQ8PMzgjgxQOv498/AaYky4EOCAPJZBAHpTbP0cyhhRmWjeL5p/LtZUp0/ARfG41HA8UnXxhOCFICfEoSnIQRlJ8fj8whi0xACtJcIQdgWwH8JCVt7ERKAbp/k/9vxuBHwcbJNKT70IgQtnWK7LyVsTPQbj48HRsXj+4Cj4/EAYEiWMZoMHBOPNwQ2yuHH2KR77wDOiscVSeN4PjAiHg8iBGiJe6YD2yR/x9k+Xbp0sWLh888/t+22267yfOLEiXbYYYeZmdmqVausXbt29umnn6a9d8KECfVgYd3jfhQX7kdxUUx+EP5HOOfvse/ZWj+ZBoyWdBphdguC4POVMbt9GVUFn1+y7JIvhwD3mdlygKS6XSVNisLUpwK7pt4YZZF+Rsj4Xg78jTWZ7vcmiCoDPJx0277AI2b2g5nNJ2T43zNem2Jmc6IdFcDCKPHTB3jHzBZm8WOKmX1iYfnxkdhPNkYA/eJxPzK87RhlfLYxs6ejXSviWGXzIxsJIeq3yCwc/iowKs4uNs6jzaJhyy23pEOHDpVvHo4fP55ddglb/P71r3+x00470b59+0Ka6DiOUy18z1bDJlmoGNaIFR8O7A8cCVwtaVcyCz7/lPzEvNOtR48izPy8G5cje6Wp0whYbGbd01zL1l8mUm0dQZid25Ig55SNVB8sTXmy4POrkjpKOgBobGYzqmlvpvJM31uChMj3D2T4N2xm58Xv7nCgXFL3HIFmUXH77bdz6qmnsnLlSjp16sR994U49u9//7tvjHccp+Twma2GzXygnaTNJDUj7DVqBHQwswnA5YQlw5bkJ/iciXFAf0kbxXs3jeUbA59HcexTk+pXijKb2VJgjqRfxnslafdY7w3W7Ok6Ken+icCJkhpL2pwQOE7JYNvTQF/CjFGu3GF7SdpeUiOCjmVC8Hm+pJ1jeWoerQcIs2AZc3hFH+dKOjr62CyOVSY//kPQoGwmqRVwcA67IUWMW9IOZjbZzK4h6EN2yKONoqF79+5MnTqVadOm8cwzz9CmTRsARo0axXnnnVdg6xzHcaqHB1sNGAsbta8j7BcaC3xAWFJ6KC7tvQPcamaLyU/wOVM/LwBjgKlxKfDSeOnq2PdLse8EqWLepwJnS3qXICh+VKw3EPiNpCmEpcUlsfxpwlLou8DLwOVmNi+DbSsJgs+PWe63E18HBgMzgDmxH4ArCeP3MmHzfTKjgTaEgCsbpwMXRTHr1wgzbWn9MLNPgcfitdGE7ykXqWLcN0uaHr/LibEPx3EcpwD4MmIDx8Kbd2u9fZem3rfAuWnKRxGWA3PdP5gQqCSX3QXclabuq0Bqnq2+aZr9P6CnmZmkk4Cp8X4DLouf5HbLCPvNKomzUT0Jb+1ls3+te5OuPQE8keHWfYEnYsCarf3ZQLo3OdfyI9a/nDDzmFreMel4KnFp1sw+BLolVZ2UzR7HcRyn/vBgyylm9gDuiEubi4H+1bk5Jk4dCzwdg51aRdLthDcxD6vtth3HcZyGgwdbTt5I2g14MKX4O6sjTT8zmwTsnrNi5vtnElI5VFKbPpjZhall9SlO7jiO45QGHmw5eWNm0wnJQkuWuvbB6lGcvCHQsWNHNt54Yxo3bkyTJk2YOnUqgwYNYvjw4Wy++eYA/PnPf+aww3zy0HGc0sWDLcdxCsqECRNo27ZtlbJLLrmESy+9NMMdjuM4pYW/jegULZK2lvREPO4uqU6nNySVScotu1CkSPp9oW1wHMdx1sZntpyCk0ng2sw+I8jjQFj66wE8X5+2lRi/J8guVZv6FqKuGHw4AJLo06cPkjj33HMZMGAAAHfccQcPPPAAPXr0YMiQIZV5thzHcUoRF6J2qk19CVwn+gF+QhCybk5IB3FDLM/U7tGEfGJdgSEEIezTCZnXD8skPSSpDCgH9gI2Afqb2RRJgwj6iLfEejMICWLPJk+h63g9nVh3d4JA9UYE7cb+ZrYo2nKpmU2V1Jagv9Ux+ndkrL8D4U3LyyUNJqSQmE7IVTaAkKurfRyL683s0RR7CiZEvds2rQBYsGABbdu2ZdGiRVx66aVcdNFFdOjQgVatWiGJe++9l4ULF3LFFVfk1W4xCdSuC+5HceF+FBfF5IcLUfunzj7Un8B1ZT+x/h1J17K1+xEhm/rmhESo58V6twIDs/RXBgyPx/sn9T2IqiLPM6JtHclf6DqTWPc04IB4fB0wNMmWHvG4LVCRNA6fAK0Igep/CIoAUFUw+7iEL/G8VbbvtBiEqK+99lq7+eabq5TNmTPHdt1117zbKCaB2nXB/Sgu3I/iopj8wIWonQJQ2wLX2cjW7gQz+9rMviQEW8/F8ulkFm5O8AiAmU0ENpHUOlNFq57Q9Vpi3VGKp7WZvRLr3E8I8nIx3syWmNkKYCawXZo604FDJN0oaT8zW5KmTkH55ptv+PrrryuPx40bR9euXfn88zVJ+p9++mm6du1aKBMdx3FqBd+z5dSE+hK4zka2dr9LKlqddL6a3M98OjHqbMLQ+QpdZxLrzkRyn5mEqCGDGLWZfShpD0LC1RskjTOz66rRf50zf/58jjkmSE1+//33nHLKKfTt25fTTz+d8vJyJNGxY0f+9re/FdhSx3GcdcODLacmVApcA8sI+5fGEQWuJf0bOIWqAtcXmplJ+rGZ5aP1l0oVoeVabDeVE4EJkvYFlpjZEkkVBB+R9BNg+6T6TxOW/zYg+JyJccA1kh42s+WSNo2zW4vizNMkwn6uxCxXBSGD/hTWvCSQi1WSNjCzVZK2Br4ys4ckLSMEhEVFp06dePfdtSUbH3wwNees4zhOaePBllNt4o95QuB6DlUFrlsRZnFuNbPFkq4HhhIErkUIIo6oQbcTWLNseANBKLs22k1lkaTXiBvkY9mTwBmx7zcJ+8OAIHQtaQKw2LIIXZvZC3Ez/FRJKwlvVf4eOBO4W9JGhL1Y/eIttwCPSTqdIFKdD/cQxuNt4AGCGPVqYBXwqzzbcBzHcWoZD7acGmH1IHAd90R1jcdfAXumVMnZrlUVbs7ap5n1ylD+LWFP1lrkK3Qd20kn1l0e70+t+wFVhaX/EMtHUdW/I5KOrwCSX9t7MZdNjuM4Tt3jG+Qdp4ZEoeuPCBvWa13o2nEcx2kY+MyWU3DqW+C6tsSirY6Frh3HcZyGgQdbTsGxeha4tjoUi65vXxzHcZzix5cRHcdxHMdx6hAPthzHcRzHceoQD7Ycx3Ecx3HqEBeidhwHSV8Ds3JWLH7aAgsKbUQt4H4UF+5HcVFMfmxnZpvnquQb5B3HAZhl+SjXFzmSprofxYP7UVy4H4XDlxEdx3Ecx3HqEA+2HMdxHMdx6hAPthzHgaCr2BBwP4oL96O4cD8KhG+QdxzHcRzHqUN8ZstxHMdxHKcO8WDLcRzHcRynDvFgy3HWcyT1lTRL0keSriy0PdmQdK+kLyTNSCrbVNJLkmbHv21iuSQNi35Nk/STwlm+BkkdJE2Q9L6k9yRdHMtLzY8NJU2R9G7044+xfHtJk6Mfj0pqGsubxfOP4vWOhbQ/FUmNJb0jaWw8Lzk/JFVImi6pXNLUWFZSzxWApNaSnpD0Qfx3sncp+pGMB1uOsx4jqTFwJ3AosAtwsqRdCmtVVkYBfVPKrgTGm1lnYHw8h+BT5/gZANxVTzbm4nvgt2a2M9AT+HUc81Lz4zvgIDPbnSC+3ldST+BG4NboxyLg7Fj/bGCRmf0IuDXWKyYuBt5POi9VPw40s+5JeahK7bkCuA14wcx2AnYnfC+l6McazMw//vHPevoB9gZeTDr/HfC7QtuVw+aOwIyk81nAVvF4K0KCVoC/ASenq1dMH+BZoHcp+wFsBLwN/JSQ2btJ6vMFvAjsHY+bxHoqtO3RnvaEH/CDgLGAStSPCqBtSllJPVfAJsCc1DEtNT9SPz6z5TjrN9sAnyadz41lpcQWZvY5QPzbLpYXvW9xCerHwGRK0I+49FYOfAG8BHwMLDaz72OVZFsr/YjXlwCb1a/FGRkKXA6sjuebUZp+GDBO0luSBsSyUnuuOgFfAvfFZd0RklpQen5UwYMtx1m/UZqyhpIPpqh9k9QSeBIYaGZLs1VNU1YUfpjZD2bWnTAztBewc7pq8W9R+iHpCOALM3sruThN1aL2I7KPmf2EsLT2a0n7Z6lbrH40AX4C3GVmPwa+Yc2SYTqK1Y8qeLDlOOs3c4EOSeftgc8KZEtNmS9pK4D494tYXrS+SdqAEGiNNrOnYnHJ+ZHAzBYDZYQ9aK0lJXR3k22t9CNebwV8Vb+WpmUf4EhJFcDfCUuJQyk9PzCzz+LfL4CnCQFwqT1Xc4G5ZjY5nj9BCL5KzY8qeLDlOOs3bwKd45tXTYGTgDEFtqm6jAHOjMdnEvZAJcrPiG8r9QSWJJYhCokkASOB983sL0mXSs2PzSW1jsfNgUMIG5knAMfHaql+JPw7HnjZ4iabQmJmvzOz9mbWkfD8v2xmp1JifkhqIWnjxDHQB5hBiT1XZjYP+FTSjrHoYGAmJebHWhR605h//OOfwn6Aw4APCfttriq0PTlsfQT4HFhF+D/aswn7ZcYDs+PfTWNdEd60/BiYDvQotP3Rrn0JyxzTgPL4OawE/egGvBP9mAFcE8s7AVOAj4DHgWaxfMN4/lG83qnQPqTxqRcwthT9iPa+Gz/vJf4tl9pzFW3rDkyNz9YzQJtS9CP543I9juM4juM4dYgvIzqO4ziO49QhHmw5juM4juPUIR5sOY7jOI7j1CEebDmO4ziO49QhHmw5juM4juPUIU1yV3Ecx3GcmiHpB8Ir+QmONrOKApnjOAXBUz84juM4dYakZWbWsh77a2JrNA0dpyjwZUTHcRynYEjaStJESeWSZkjaL5b3lfS2pHcljY9lm0p6RtI0SW9I6hbLB0m6R9I44IEokH2zpDdj3XML6KLj+DKi4ziOU6c0l1Qej+eY2TEp108BXjSz/5XUGNhI0ubAcGB/M5sjadNY94/AO2Z2tKSDgAcI2cYB9gD2NbNvJQ0gyLbsKakZ8KqkcWY2py4ddZxMeLDlOI7j1CXfmln3LNffBO6N4tzPmFm5pF7AxERwZGYJoed9geNi2cuSNpPUKl4bY2bfxuM+QDdJCW3DVkBnwIMtpyB4sOU4juMUDDObKGl/4HDgQUk3A4sJ+pGpKF0T8e83KfUuNLMXa9VYx6khvmfLcRzHKRiStgO+MLPhwEjgJ8DrwAGSto91EsuIE4FTY1kvYIGZLU3T7IvAr+JsGZK6SGpRp444ThZ8ZstxHMcpJL2AyyStApYBZ5jZl3Hf1VOSGgFfAL2BQcB9kqYBy4EzM7Q5AugIvC1JwJfA0XXphONkw1M/OI7jOI7j1CG+jOg4juM4jlOHeLDlOI7jOI5Th3iw5TiO4ziOU4d4sOU4juM4jlOHeLDlOI7jOI5Th3iw5TiO4ziOU4d4sOU4juM4jlOH/D+yNoR61hHTogAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from xgboost import plot_importance\n",
    "plot_importance(model_xgb)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "36\n"
     ]
    }
   ],
   "source": [
    "print(model_xgb.best_iteration)#36/86  \n",
    "#model_xgb = xgb.train(params,xgb_train,num_boost_round=model_xgb.best_iteration)#最佳迭代次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from xgboost import plot_importance\n",
    "plot_importance(model_xgb)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "#model_xgb.save_model('./model/xgb_best_iteration.model')#保存模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8595453\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "eval_data = user_data[user_data[\"time\"] < \"2014-12-18\"][[\"user_id\", \"item_id\", \"item_category\"]].drop_duplicates()\n",
    "print(len(eval_data))\n",
    "eval_data[\"pred\"] = model_xgb.predict(xgb.DMatrix(x_eval))\n",
    "eval_data[\"pred\"] = MinMaxScaler().fit_transform(eval_data[\"pred\"].values.reshape(-1, 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "threshold = eval_data[[\"pred\"]].sort_values(by=\"pred\", ascending=False).iloc[550][0]\n",
    "y_pred = eval_data[\"pred\"].tolist()\n",
    "for i in range(len(y_pred)):\n",
    "    if y_pred[i] >= threshold:\n",
    "        y_pred[i] = 1\n",
    "    else:\n",
    "        y_pred[i] = 0\n",
    "y_eval = y_eval#.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Validate set accuracy score: 0.9997\n",
      "Validate set F1 score : 0.0574\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[8592611,    1888],\n",
       "       [    870,      84]], dtype=int64)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import f1_score\n",
    "from sklearn.metrics import confusion_matrix\n",
    "print(\"Validate set accuracy score: {:.4f}\".format(accuracy_score(y_pred, y_eval)))\n",
    "print(\"Validate set F1 score : {:.4f}\".format(f1_score(y_pred, y_eval)))\n",
    "confusion_matrix(y_pred, y_eval) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "item_list = item_data[\"item_id\"].unique().tolist()\n",
    "predict = data_test[[\"user_id\", \"item_id\"]]\n",
    "predict[\"label\"] = model_xgb.predict(xbg_test)\n",
    "predict[\"label\"] = MinMaxScaler().fit_transform(predict[\"label\"].values.reshape(-1, 1))\n",
    "predict = predict[predict[\"item_id\"].isin(item_list)].sort_values(by=\"label\", ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "result = predict.head(550)[[\"user_id\", \"item_id\"]].drop_duplicates()\n",
    "result.to_csv(\"tianchi_mobile_recommendation_predict.csv\", index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
